Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: transaction table
Hi Joe,
I think this could be worded better. The transaction exists as an entry in the transaction table of an undo segment. When the transaction commits, the only thing that is guaranteed is that the transaction slot of that undo segment is guaranteed to be written. The rest can and will be up in the air.
The V$TRANSACTION view, and the underlying X$, X$KTCXB, is a map of transaction state objects. These are in-memory structures. If the instance crashes, their contents are lost. What matters is whether the transaction header in the undo (or rollback) segment is marked as committed or not.
On instance recovery, subsequent to a crash, Oracle first checks the datafile headers and the controlfile, to determine the range of SCNs it needs to read from redo and apply to the datafiles, to get them up to date. After that, it looks at the undo segment transaction slots, and looks for transactions that are not committed, and rolls those back.
Hope that helps,
-Mark
--
Mark J. Bobak
Senior Oracle Architect
ProQuest Information & Learning
There is nothing so useless as doing efficiently that which shouldn't be done at all. -Peter F. Drucker, 1909-2005
-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Joe Smith
Sent: Wednesday, January 31, 2007 12:37 PM
To: oracle-l_at_freelists.org
Subject: transaction table
In the Oracle DB Concepts 10g pdf from Oracle the following is on page 4-4:
When a transaction is committed, the following occurs:
Is the " internal transaction table" referred to here v$transaction or
is it
a $X table?
thanks.
--
http://www.freelists.org/webpage/oracle-l
--
http://www.freelists.org/webpage/oracle-l
Received on Wed Jan 31 2007 - 12:00:58 CST
![]() |
![]() |