RE: Effective Oracle by Design - p259 - 260 - confused, is there a mistake?

  • From: "Mark W. Farnham" <mwf@xxxxxxxx>
  • To: <t_adolph@xxxxxxxxxxx>, "ORACLE-L" <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 2 Nov 2005 06:16:59 -0500

It all depends on when Session B's query is started. If Session B's query
starts before at least one of the commits, then to preserve read consistency
it must either acquire and apply the relevant undo to create a block image
consistent with the time of the start of the Session B query or it must
report snapshot too old. A commit does not "throw away" undo, but rather
releases it as no longer required by an updating transaction. When and if
"undo" is actually discarded from all available sources grows increasingly
complex with flashback (not relevant to 9.2.x). It varies qualitatively from
keeping it until the space consumed limit is reached to a new mode that is
akin logically to redo being unable to wrap to the next log in that it will
hang instead of dying and will resume if you add space. Oracle has achieved
a laudable balance in making the default usage trivial to configure yet
allowing you to tailor behavior precisely to satisfy particular
requirements.
  -----Original Message-----
  From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx]On Behalf Of t_adolph@xxxxxxxxxxx
  Sent: Wednesday, November 02, 2005 5:06 AM
  To: ORACLE-L
  Subject: Effective Oracle by Design - p259 - 260 - confused, is there a
mistake?


  Hi All,

  A question for those of you who have read Effective Oracle by Design by
Thomas Kyte:

  Chpt 5, page 259 - 260: Tom is explaining that undo is read for read for
read consistency....

  <snip>
  Now this makes sense to me as in session A there was no commit.  But in
Tom's pl/sql there's a commit every update.  Shouldn't that throw away the
undo meaning that session B wouldn't be interested in it?  I tried with a
commit every update and confirmed what I'd expected, only 4 gets.  What have
I missed folks?

  Tony
  PS I thinks its irrelevant here, but Ora 9.2.0.7 on Win2k

Other related posts: