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-25 shows three sessions are waiting for file 4 and block 54. Executing the script shown in Figure 6-26 resulted in the output shown Figure 6-27. This particular buffer (file 4, block 54) is a data segment and part of the orders table. We don't yet know if the buffer is the orders table header block or a data block containing rows. Step 3 will reveal the answer.
Figure 6-27. Given the buffer's block number and file number, along with accessing dba_extents and dba_data_files, we can glean other information about the block. In this case, the buffer having three sessions waiting for access is part of the orders table.
Every Oracle segment has a header block. For example, as shown in Figure 6-28, both table segments and undo segments have a single header block. The first block of the first extent is the segment's header block. Header blocks are different from the remaining object's blocks because they contain something special. And that specialness is dependent on the segment type. This is why we needed to first determine the segment type. Now we will determine if the block is 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.
|