Oracle Performance Firefighting
by Craig Shallahamer

Get the book here



Craig Shallahamer's Blog

You were brought to this page based on an internet search and as a free service to Oracle DBAs.

The text below is an except from the book, Oracle Performance Firefighting, written by Craig Shallahamer of OraPub, Inc. Figures and tables are not included on this page, only their reference.
To order the book in either print or PDF form, click here.


©2009, 2010 by Craig Shallahamer. This is copyrighted material.
Please—Out of respect for those involved in the creation of the book and also for their familes, we ask you to respect the copyright both in intent and deed. Thank you.

-------------------------------

Table 6-1 shows a few samples of the relationship between data buffers, CBCs, and the CBC latches. Each sample was taken from a real production Oracle system. Only the number of data buffers was set; that is, all the other values were defaults based on the number of data buffers. Based on the number of data buffers, Oracle determines the number of hash chains and the number of latches.

* There are a lot of hash chains. While I'll illustrate perhaps five to ten chains when explaining CBCs, in reality, there are thousands or millions of them! Oracle knows its hash function is not perfect and will result in some collisions. One way to reduce the likelihood of collisions is to have a larger number of chains. Your first reaction may be that more chains will consume more memory, but this is not true. Each buffer header must be on a chain, regardless of the number of chains and the chain length. With more chains, the average chain length decreases, while the number of buffer headers does not change. So, while there is some additional memory overhead for each chain, the real memory consumer is the number of buffer headers, not simply the number of chains.

* There are thousands of CBC latches. Years ago, the rule of thumb for the number of latches was that they should not exceed the number of CPU cores times two. Obviously, Oracle has changed the rules, because I know for a fact that none of the Table 6-1 systems has over 500 CPU cores! And don't forget that the CBC latches represent only one of the many latches Oracle uses (last count on an Oracle Database 11g system was 382 latches).

©2009, 2010 by Craig Shallahamer. This is copyrighted material.
Please—Out of respect for those involved in the creation of the book and also for their familes, we ask you to respect the copyright both in intent and deed. Thank you.


Know what's important before it's too late!

OraPub's
Performance Training

is like no other...





More Class Pics...
Get student testimonials!