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

Home -> Community -> Usenet -> c.d.o.tools -> Re: Oracle rollback segment

Re: Oracle rollback segment

From: Niall Litchfield <niall.litchfield_at_dial.pipex.com>
Date: Sat, 2 Jun 2001 19:41:59 +0100
Message-ID: <3b1932b2$0$15029$cc9e4d1f@news.dial.pipex.com>

"Anshumn" <anshumn.sagar_at_wipro.com> wrote in message news:375b211e.0106020142.1b1ec387_at_posting.google.com...
> Hi,
>
> Need some input regarding Oracle Rollback Segment.
>
> Due to the Rollback segment size restriction, the deletion of the
> records is failing. Now one way to solve this is to increase the size
> of
> the rollback segment.
> The other way is to use 'TRUNCATE' to delete the records. But in my
> case, I want to delete specific records based on the specified
> condition. So can some condition be used with the TRUNCATE clause? I
> checked it up, it is not allowing...any other way to do it ?

Correct "TRUNCATE TABLE WHERE ..." is not valid.
>
> If I don't increase the size of the segment, then I want to delete
> records and do an intermediate commit after every 5000 records. Any
> suggestions how to do it ?

PL/SQL
>
> Also please let me know how to increase the size of the rollback
> segment.(This is the last option)

If this is a regular operation then probably your best bet is to create a single larger rollback segment, as with all segments size is controlled by the storage clause for the CREATE statement. then when it comes to doing your batch delete first issue SET TRANSACTION USE ROLLBACK SEGMENT BIGROLL (or whatever you called it). NB Check the set transaction statement in the docs this is from memory.

--

Niall Litchfield
Oracle DBA
Audit Commission UK
Received on Sat Jun 02 2001 - 13:41:59 CDT

Original text of this message

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