Oracle Performance Firefighting
by Craig Shallahamer

Get the book here



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.
Please—Out 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.

-------------------------------

As mentioned earlier in the undo segment header buffer busy wait section, each undo segment contains a structure called the transaction table located in its header block. Figure 6-36 is a diagram of an Oracle transaction table. As noted earlier, Oracle developers refer to its rows as slots. Every occupied slot is associated with a transaction that is storing or has stored its undo information in the undo segment. If a transaction has committed or rolled back, it is deemed an inactive transaction; otherwise, it is deemed an active transaction. Besides containing the slot number and the transaction status, each slot also contains a sequence number. To distinguish between different transactions that have used the same slot and to enable slot reuse, the sequence number can be incremented. The UBA is the undo block address, providing a direct link to the transaction's undo. The SCN is the transaction's system change number when the associated transaction began.

Figure 6-36. Diagram of an Oracle transaction table, which contains metadata about its associated undo segment. Each undo segment's transaction table consists of slots and also sequence numbers to distinguish transactions that have used the same slot, and also the transaction status. Additional information about the transaction is also stored. Transaction table size is limited by the database block size.

Transaction tables are relevant to performance analysts because they supply the transaction number. Every transaction has an associated transaction number, and that number is based on the transaction's transaction table entry. The transaction number consists of three parts concatenated together. The first part is the transaction table number, the second is the slot number, and finally the associated sequence number. For example, the first transaction shown in Figure 6-36 has a transaction number of 00100.000.0007. The connection between ITLs and the transaction table is that every ITL entry is related to a specific transaction and contained within the ITL entry is the transaction number, such as 00100.000.00007. Now it's time to complete our ITL discussion.

©2009, 2010 by Craig Shallahamer. This is copyrighted material.
Please—Out 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!