Expert Oracle Exadata

By Kerry Osborne , Randy Johnson , Tanel Põder

Expert Oracle Exadata opens up the internals of the Exadata platform so that you can fully benefit from Oracle's groundbreaking technology to move SQL processing to the storage layer.

Full Description

  • ISBN13: 978-1-4302-3392-3
  • 588 Pages
  • User Level: Intermediate to Advanced
  • Publication Date: August 6, 2011
  • Available eBook Formats: EPUB, MOBI, PDF
  • Print Book Price: $64.99
  • eBook Price: $45.99
Buy eBook Buy Print Book Add to Wishlist

Related Titles

Full Description

Throughout history, advances in technology have come in spurts. A single great idea can often spur rapid change as the idea takes hold and is propagated, often in totally unexpected directions. Exadata embodies such a change in how we think about and manage relational databases. The key change lies in the concept of offloading SQL processing to the storage layer. That concept is a huge win, and its implementation in the form of Exadata is truly a game changer.

Expert Oracle Exadata will give you a look under the covers at how the combination of hardware and software that comprise Exadata actually work. Authors Kerry Osborne, Randy Johnson, and Tanel Põder share their real-world experience, gained through multiple Exadata implementations with the goal of opening up the internals of the Exadata platform. This book is intended for readers who want to understand what makes the platform tick and for whom—"how" it does what it is does is as important as what it does. By being exposed to the features that are unique to Exadata, you will gain an understanding of the mechanics that will allow you to fully benefit from the advantages that the platform provides.

  • Changes the way you think about managing SQL performance and processing
  • Provides a roadmap to laying out the Exadata platform to best support your existing systems
  • Dives deeply into the internals, removing the “black box” mystique and showing how Exadata actually works

What you’ll learn

  • Configure Exadata from the ground up
  • Optimize for mixed OLTP/DW workloads
  • Migrate large data sets from existing systems
  • Connect Exadata to external systems
  • Support consolidation strategies using the Resource Manager
  • Configure high-availability features of Exadata, including Real Application Clusters (RAC) and automatic storage management (ASM)
  • Apply tuning strategies utilizing the unique features of Exadata

Who this book is for

Expert Oracle Exadata is for database administrators and developers who want to understand what makes Exadata unique so that they can take advantage of all the platform has to offer. It is also for anyone who needs to plan and execute migrations of systems to the Exadata platform. Finally, the book will be invaluable to those who support and maintain such systems.

Table of Contents

Table of Contents

  1. What Is Exadata?
  2. Offloading / Smart Scan
  3. Hybrid Columnar Compression
  4. Storage Indexes
  5. Exadata Smart Flash Cache
  6. Exadata Parallel Operations
  7. Resource Management
  8. Configuring Exadata
  9. Recovering Exadata
  10. Exadata Wait Events
  11. Understanding Exadata Performance Metrics
  12. Monitoring Exadata Performance
  13. Migrating to Exadata
  14. Storage Layout
  15. Compute Node Layout
  16. Unlearning Some Things We Thought We Knew
Errata

Please Login to submit errata.

On page Chapter 7 Page 221:
Bottom of page. The listmetricurrent example shows a value of zero and the bullet list right after only shows 1,2 and 3. Not clear how to read this.

On page Chapter 2 Page 39:
Table 2.1 has first line of data: Compression and Always malformed as Compression Alwa <space or tab> ys. So the columns do not line up properly.

On page 35:
Firstly, congratulation. This e-book really rocks!

Just a minor error:

Cahpter 2 - page 35

Hints in SQL Query at the bottom:

select /*+ bloom join 2 use_hash(skew temp_skew)

If it is intended to be a comment, then the "+" sign should be removed. If it is intended to be a hint, then the use_hash needs correct aliases a b as well as the words "bloom join 2" should be at the end of the hint.

On page 73:
page 73: “the two Zlib-based options (QUERY LOW and ARCHIVE HIGH)”

Should be:

the two Zlib-based options (QUERY HIGH and ARCHIVE LOW).

On page 157:
parallel_adaptive_multi_user FALSE TRUE

should be:

parallel_adaptive_multi_user FALSE FALSE

On page 180:

"SERVICE_MODULE, ACTIVE_SESS_POOL_P1, and QUEUEING_P1 are not commonly used and may be deprecated in future releases."


It's strange to mention ACTIVE_SESS_POOL_P1, and QUEUEING_P1 in this context, as they are plan directives, but not mapping rule attributes
Author Comment:

I agree. Those do seem out of place. The product manager of Oracle Resource Manager mentioned that these would probably be deprecated and I was trying to reflect this information.

On page 180:

"The default priorities for the ORACLE_USER and CLIENT_APPLICATION attributes are 6 and 7, respectively."


CLIENT_APPLICATION should be CLIENT_PROGRAM
Author Comment:

You are correct.


On page 181:

"This is because according to the rule priorities, the CLIENT_APPLICATION mapping rule takes precedence over ORACLE_USER."

CLIENT_APPLICATION should be CLIENT_PROGRAM
Author Comment:

You are correct.

On page 210:

"In addition to any unconsumed I/O from levels 1 and 2, databases on level 3 will equally share the unallocated 16% of total I/O, (16% = 80% × 20%)."

16% should be 8% (8% = 40% × 20%)
Author Comment:

I think maybe we *both* got this one wrong.

The breakdown is as follows:

Level 1 gets 60% of the total I/O.
100% - 60% = 40%. This 40% remains unallocated from the total I/O and goes to level 2.

Level 2 gets 32% of the total I/O.
This is 80% of the 40% unallocated on level 1. (80% * 40%) = 32%

Level 3 gets 8% of the total I/O.
This is 100% of the (20% * 40%) unallocated from level 2.

If you agree please change:
“share the unallocated 16% of total I/O, (16% = 80% x 20%).”

to:
“share the unallocated 8% of total I/O, (8% = 20% x 40%).”

On page 221:

Bottom of page. The listmetricurrent example shows a value of zero and the bullet list right after only shows 1,2 and 3. Not clear how to read this.
Author Comment:

The value of 0 was probably due to IORm not being enabled at the time. The problem is I cannot confirm this since we've upgraded our systems and we are no longer running the same version of Cellsrv as we were when we wrote this chapter. I’d suggest changing the value in the listing to 1, 2, or 3. If you want to you could also mention that on early versions of Cellsrv this value could also be zero when IORM is not enabled. But that isn’t important in my opinion. The version of Cellsrv we run now maintains a non-zero value even when IORM is not enabled. See below:

CellCLI> list iormplan
enkcel04_IORMPLAN inactive

CellCLI> list metriccurrent iorm_mode
IORM_MODE enkcel04 2

On page 242:

"There is no place in the configuration worksheet or the DBM Configurator to specify the network address, and the default is 192.168.10."

Looks like the network address can be specified in both the configuration worksheet and the DBM Configurator.
Author Comment:

This sentence is describing the address of the private network on the InfiniBand switch. See previous sentence: “These tasks include connecting all the networked components inside the Exadata rack and configuring the IP addresses for the private network (IB switch).”

On page 256:

Please see the author's note below.
Author Comment:

The table below contains corrections for the description of the following files:
dbs_ib_group, , priv_ib_group.

dbs_ib_group
This file contains the private host names for the database servers.

cell_ib_group
This file contains information similar to that of the dbs_ib_group file, but the information pertains to the storage cells.

priv_ib_group
This file contains the private network IP address, long network
host name, and short network host name for all database servers and storage cells, as well as a commented section containing reference information regarding the private network for the InfiniBand switch, management switch, and the KVM. The format is similar to what you would see in the/etc/hosts file, in the form of: ip_address long_name short_name

On page 286:
Just a small typo:

path in mount command reads

/root/mnt/snap

but should read

/mnt/snap/root


On page 287:

"[root@enkdb01 /]# umount /mnt/snap
[root@enkdb01 /]# rmdir /mnt/snap"

both of /mnt/snap should be /mnt/snap/root
Author Comment:

That is correct. Looks like Apress has fixed this in both the soft copy and the printed version of the book that I've got. Also: "[root@enkdb01 /]# rmdir /mnt/snap/u01" is not necessary and should probably be deleted to avoid confusion.

[root@enkdb01 /]# umount /mnt/snap/u01

On page 317:

"8. Check the configuration files in the following directories. If they are damaged
or otherwise corrupted, replace them with the backup copies you created in
step 1."

No directories followed.
Author Comment:

You are correct. The text should read as follows:

8. Check the configuration files below. If they are damaged or otherwise corrupted, replace them with the backup copies you created in step 1.

• /etc/hosts
• /etc/modprobe.conf
• /etc/sysconfig/network
• /etc/sysconfig/network-scripts

On page 362:
ebook version

page 362:

Sentence:

So if you scan through a 10GB
compressed segment, physical read total bytes statistic would increase by 10GB, but the cell I/O
uncompressed bytes may well increase by 10 GB if that’s the total uncompressed size of the data.

Question: I am wondering whether the second 10GB should be higher than 10GB because uncompressed data should be higher?

On page 368:
Sentence:

So if, for example, LGWR writes
1MB to an ASM disk group with high redundancy (triple mirroring), a total of 1.5 MB of data would be
sent over the interconnect.

I think it should be 3 MB instead of 1.5MB.