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.
-------------------------------
Suppose another server process overwrote its transaction undo in undo block 2,70. If this occurred, that server process's transaction number would be recorded, and it would not be 5.2.6. Upon transaction number comparison, we would notice this difference and immediately know the undo in block 2,70 should not be applied to our CR buffer. At this point, our server process would post a "snapshot too old" error and stop our query. Clearly, the undo block snapshot was to old because it was overwritten by another process.
Fortunately, the transaction numbers do match! The undo in undo block 2,70 was changed at SCN time 12340, which is after our query started, so we apply the undo to our CR buffer. The next undo link is empty, so there is no more undo to consider applying.
Referring back to our ITL entries, there are no more ITLs to consider, so we have completed our block clone. Any server process can now access CR buffer 7,678 consistent at time 12330.
©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.
|