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 -> Re: PL/SQL and Snapshot too old

Re: PL/SQL and Snapshot too old

From: Duc Nguyen <nguyen_at_reston.ans.net>
Date: 1997/03/27
Message-ID: <333AFCAB.2781@reston.ans.net>#1/1

Mike Rushton wrote:
>
> Manoj Appully <manoj.appully_at_bridge.bellsouth.com> wrote:
>
> >2. Fetches across commits with delayed block clean out.
> >
> >Oracle will do a fast commit when a data block is changed by making txns as committed in
> >the rollback segment header but still may not have as yet cleaned the datablocks that
> >were modified.
> >
> >Let us in this case take two tables and assume the same situation as in step 1, ie.,
> >a cursor is opened on table T1, in a loop again you are fetching from T1 and changing
> >records in table T2 and committing. Though you are committing on T2 you could still
> >get ORA-1555 because cleanout has not been done on T1 from which records are being
> >fetched.
> >
> >In this case a full table scan before opening and fetching thru cursor will help.
> >
>
> I too am having problems with Snapshot too old. I am reading from one table (via
> a cursor) and writing to another, and committing every 1000 records.
> The table i am reading from is NOT being updated, yet i get snapshot too old.

Updates don't have occur against your table to get this error because other transactions against other tables can occur, requiring the use of the rollback segment you're using. Try increasing the size of your rollback segments.
-Duc Received on Thu Mar 27 1997 - 00:00:00 CST

Original text of this message

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