RE: transaction table

  • From: "Bobak, Mark" <Mark.Bobak@xxxxxxxxxxxxxxx>
  • To: "Bobak, Mark" <Mark.Bobak@xxxxxxxxxxxxxxx>, <joe_dba@xxxxxxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 31 Jan 2007 13:50:31 -0500

Small correction.  In my first paragraph, I should have said "...the
only thing that is guaranteed is that the redo that protects the update
of the transaction slot in the undo header is guaranteed to be written
to disk."

Thanks to Mark Farnham for catching the error.

-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@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Bobak, Mark
Sent: Wednesday, January 31, 2007 1:01 PM
To: joe_dba@xxxxxxxxxxx; oracle-l@xxxxxxxxxxxxx
Subject: 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@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Joe Smith
Sent: Wednesday, January 31, 2007 12:37 PM
To: oracle-l@xxxxxxxxxxxxx
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:

1. The internal transaction table for the associated undo tablespace
records that the transaction has committed, and the corresponding unique
system change number
(SCN) of the transaction is assigned and recorded in the table.


Is the " internal transaction table" referred to here v$transaction or
is it a $X table?

thanks.

_________________________________________________________________
From predictions to trailers, check out the MSN Entertainment Guide to
the Academy Awards(r)
http://movies.msn.com/movies/oscars2007/?icid=ncoscartagline1

--
//www.freelists.org/webpage/oracle-l


--
//www.freelists.org/webpage/oracle-l


--
//www.freelists.org/webpage/oracle-l


Other related posts: