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

Home -> Community -> Usenet -> c.d.o.misc -> Re: ORA-01555: snapshot too old

Re: ORA-01555: snapshot too old

From: Jeremiah Wilton <jeremiah_at_wolfenet.com>
Date: Mon, 15 Feb 1999 09:27:56 -0800
Message-ID: <Pine.OSF.4.02.9902150917130.3382-100000@gonzo.wolfenet.com>


> <masseys_at_my-dejanews.com> wrote:
> >
> > I am trying to copy a large table from one user to another using the
> > commands
> >
> > set copycommit 1
> > set arraysize 1000
> > COPY FROM <us>/<pw>@<cs> append POSTCODE using select * from POSTCODE;
> >
> > and I get an error lien stating
> >
> > ORA-01555: snapshot too old: rollback segment number 5 with name "RB4"
> > too small

On Mon, 15 Feb 1999, Serge wrote:
>
> You need:
> 1. Create a big rollback segment - f.e. big_rs
> 2. Before copy set transaction - SET TRANSACTION USE ROLLBACK SEGMENT big_rs;
> Serge Malyshev sermal_at_usa.net

OK, that won't work. ORA-1555 results from the inability to obtain a consistent read, not from your session running ou of rollback space. Using SET TRANSACTION... for a query (which is not even a transaction, it is a query) won't do anything.

Understanding Oracle's multiversioning consistent read architecture is essential to understanding ORA-1555.

I wrote a blurb on how this works, and have posted it to the newsgroups several times. Rather than reposting it, here is the Dejanews URL:

http://www.dejanews.com/getdoc.xp?AN=402881062

--
Jeremiah Wilton http://www.wolfenet.com/~jeremiah Received on Mon Feb 15 1999 - 11:27:56 CST

Original text of this message

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