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: Rollback segments

Re: Rollback segments

From: Andrew Mobbs <andrewm_at_chiark.greenend.org.uk>
Date: 06 Jun 2001 21:42:24 +0100 (BST)
Message-ID: <iYn*Sv6Xo@news.chiark.greenend.org.uk>

[superseded to fix typo and add info]
Peter Shvets <pshvets_at_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 either commit more frequently, so each transaction is smaller, or you can modify the rollback segments to allow the larger transaction.

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 DBA_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/
Received on Wed Jun 06 2001 - 15:42:24 CDT

Original text of this message

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