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.
PleaseOut 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.
-------------------------------
<p>What makes buffer busy waits events challenging is there are multiple solid diagnostic approaches. One of the most common diagnostic buffer busy approaches is using what is known as the reason code. The reason code consists of three digits, with each digit's value revealing part of the story as to why the buffer is busy and cannot be immediately accessed.7 While many performance specialists use this method, I was never comfortable with it. Strangely, in Oracle Database 11g, Oracle removed the reason code from the v$session_wait and v$session view's p3 column! If you are used to using the reason code, don't fret, because the method I will detail works wonderfully.
</p><p>In Oracle Database 10g, Oracle took one of the most common buffer busy situations and gave it its own wait event. So what we now see as a read by other session event used to be part of the buffer busy waits event. While this did cause some confusion, it's actually good news, because it makes both wait events more specific. I will also detail the read by other session event in this section.
</p><p>The key to solving a buffer busy type waits (which includes the read by other session event) is to first gain an understanding of the buffer being waited upon. It's not enough to know the top event is buffer busy waits. You will need to gather additional information before you know the correct solution set. As I'll detail here, the additional required information is the buffer's type and if it is a header block. With this information in hand, you know enough to develop a number of solutions to the problem. To aid in this process, I have developed a four-step diagnostic process:
</p>
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut 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!
|