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.
-------------------------------
Now that I've introduced ITLs and undo segment transaction tables, it's time to bring them together as a single working unit and present how ITLs change during transaction activity. This section should leave you with a very good understanding of how Oracle manages transaction concurrency, how Oracle creates read consistent blocks, and why the feared "snapshot too old" error occurs.
Figure 6-37 is not a model or a diagram. It is an actual block dump created by issuing the command alter system dump datafile 1 block 75847. At the time of the block dump, this block (1,75847) contains many rows and has three active transactions updating four different rows. The first and third transactions shown are updating one row each, while the second transaction is updating two rows.
Figure 6-37. Shown is a data block (1,75847) dumped in the midst of three concurrent transactions. There are three active transactions updating a total of four rows.
©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.
|