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.
-------------------------------
Figure 6-28. Shown are two segment types: an undo segment and a table segment. Each segment has two extents. Each extent contains eight contiguous blocks, and each segment has a single segment header block. In Figures 6-25 and 6-27, the orders table block 4,54 was busy, with three sessions waiting to access.
Figure 6-29 is a simple dba_segments-based query. Each row in dba_segments contains information about a single Oracle segment. It also contains columns for the header block's file number and block number. So a simple query like the one shown in Figure 6-29 will reveal if the busy buffer is in fact a header block. In our example, block 4,54 is not a header block. Therefore, because the segment type is table, we know the busy buffer contains rows. In addition to this, when I repeatedly queried the v$sesson_wait-based script shown in Figure 6-25, I noticed that different orders table blocks were being waited upon. This means sessions are waiting to access rows within multiple blocks of the orders table.
Figure 6-29. This simple dba_segments-based query clearly shows that block 4,54 is not a header block.
©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.
|