Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> snapshot to old again

snapshot to old again

From: Doug Cowles <dcowles_at_bigfoot.com>
Date: Wed, 19 May 1999 18:31:44 -0400
Message-ID: <37433BD0.74CD72F1@bigfoot.com>


I'm sure this topic has been beaten to death on this group but hopefully a few people won't mind beating it some more. I created a very large 1G rollback segment for a very large data load and the writter of the code received a snapshot too old message after about half an hour. The high water mark on the rollback segment was 300M. (It had unlimited extents). So, to my understanding, this can only mean that the data load code (2 pieces of code were kicked off at once), referenced the same table from two different procedures. My comprehension is as follows.
a) no read locks in oracle
so -
b) transaction 1 begins and starts a read-consistent rollback image of how every many gazillion rows there are. c) transaction 2 also (smaller transaction) begins on to do the same thing on a smaller scale, but because of a lock, it waits for the first transaction to finish.
d) transaction 1 commits, thereby rendering the "before" image in transaction 2's rollback
extents futile.
e) snapshot error.

Is this correct?

Secondly, if someone has the time - this is a quote from an Oracle book handed out in their DBA class.

<<begin quote>>

If the Oracle server cannot construct a read-consistent image of data, the user will receive an ORA-01555 SNAPSHOT TO OLD error. This error can occur when the transaction that made the change has already commited and:

  1. The transaction slot in the rollback header has been reused
  2. The before-image in the rollback segment has been overwritten by another transaction
    <<end quote>>

If my understanding above is correct, I assume that #2 applies, in that transaction 2's redo image is not literally overwritten but something indicates that is is now out of synch.
Is this correct?

And finally, what causes #1? What would cause a transaction slot in the rollback header to be re-used inappropriately I guess. I don't quite follow #1.

Have at it folks
I really appreciate this group. There are many of you out there who are EXTREMELY
helpful.

Received on Wed May 19 1999 - 17:31:44 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US