From: Andrew Mobbs <andrewm@chiark.greenend.org.uk>
Newsgroups: comp.databases.oracle.server
Subject: Re: Rollback segments
Date: 06 Jun 2001 21:38:07 +0100 (BST)
Organization: Antique and shadowy Khem
Lines: 30
Message-ID: <lyn*Ru6Xo@news.chiark.greenend.org.uk>
References: <9flsc3$1co0$1@news.mainstreet.net>
NNTP-Posting-Host: rapun.sel.cam.ac.uk
Originator: andrewm@chiark.greenend.org.uk ([195.224.76.132])


Peter Shvets <pshvets@powermarket.com> wrote:
>Hello, folks.
>I see the following error when load some tables in my warehouse:
>    ORA-01555: snapshot too old: rollback segment number 1 with name "RBS0"
>too small
>
>I am not a  DBA, so I don't know how to deal with such problems.
>Could anybody help me or give a hint, please.
>I appreciate any help.

When Oracle performs a transaction, it keeps a log of what it needs to do
to undo that transaction. These are stored in "rollback segments".  As the
error says, the problem is that Oracle cannot finish the transaction to
load the data because there isn't enough space in your rollback segments
to store the undo information.

This may because the tablespace the rollback segment is in is full, or
it may be that the rollback segment has hit a defined size limit.

You can query DBA_ROLLBACK_SEGS to find details of the rollback
segments. You should either use ALTER ROLLBACK SEGMENT to modify the
rollback segment or ALTER TABLESPACE to modify the tablespace. You
can find documentation for these commands in the Oracle SQL Reference
manual, you can find the BDA_ROLLBACK_SEGS view in the Oracle Reference
manual, you can find more information about rollback segments in
the Oracle Concepts manual. The documentation is online at:
http://otn.oracle.com/

-- 
Andrew Mobbs - http://www.chiark.greenend.org.uk/~andrewm/

