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.

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

Oracle's flexible mutex implementation comes in very handy for extremely complex memory structures, like Oracle's library cache. When using a library cache latch, Oracle kernel code developers must associate multiple memory pieces with one of the library cache latches. Because library cache memory structures are highly interconnected, Oracle's latching capabilities result in a practical limitation (performance and coding complexity) as to how granularly the latches can be applied.

The unintentional result is known as false contention. This unfortunate situation occurs when two processes require access to different memory pieces, yet both memory pieces are controlled by the same latch. Figure 3-14 shows an example of false contention. Process P100 requires access memory structure MS1. Process P200 requires access to memory structure MS2. A single latch CS999 controls access to both memory structures MS1 and MS2. If process P100 has latch CS999 while accessing MS1, process P200 will contend for the latch, even though it has no need to access memory structure MS1! Because the processes are contending for the same control structure, yet will not access the same memory structure, they are falsely contending. The more complex the underlying memory structure, the more likely this will occur.

Figure 3-14. An example of false contention. If process P100 wants access to memory structure MS1 and process P200 wants access to memory structure MS2, they will both contend for the same control structure CS999, resulting in false contention.

©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!