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 Segment

Re: Rollback Segment

From: <poohland_at_my-dejanews.com>
Date: Tue, 28 Jul 1998 00:02:42 GMT
Message-ID: <6pj4f2$uf1$1@nnrp1.dejanews.com>


I think I did not make it clear the last time. So I will explain more clearly now.

I mean that the tablespace which the rollback segment reside in does not have enough free space for it to growth. For example, you assign a 20M datafile into the RBS tablespace (suppose your rollback segment is resign in tablespace RBS). And the rollback segment have extended to 19 extents already. If each extent (including the initial and the next extent) is 1MB. Adding some overhead in the initial extent, the rollback segment have used up more than 19MB in the 20M space tablespace. When the transaction is long and the rollback segment still need to extend to another extent, it would not have enough space because you have less than 1MB free space in the RBS tablespace.

Changing the minextents will not help in this case. The minimum extents is the minimum number of extents that oracle assigned for the rollback segment even though there is no active transaction on the system. Increase the size of the minimum extent will not help to solve the space problem. It will solve the performance problem since Oracle do not have to dynamically assigned new extent when the transaction get larger.

The reason I suggest to use set transaction use rollback segment <name of rbs>; is just for the benefit for running a large transaction in Oracle. You can explicitly assign a rollback segment for a transaction in Oracle. That particular transaction will only use that rollback segment when generating redo entries. You don't have to use that. It is just a matter of ease in using it.

But if you do use this method. Do remember to put it into the first line of each transaction. Also, keep in mind that when you commit, the transction END. So you need to add that line again. If it causes too much problem, just write a PL/SQL program and commit more offen.

Winnie

In article <6phbra$ic1$1_at_ns2.dokumenta.de>,   "Frank Zekert" <zekert_at_wmd.de> wrote:
> Hi,
> I'm afraid you've missed the point:
> the extents allocated for the rollback segment are too small. So you should
> also change the storage parameters, for example
> "alter rollback segment <RBS>
> storage (INITIAL 1M NEXT 1M MINEXTENTS 10)"
>
> Hope this will help.
>
> Frank
>
> Winnie Liu wrote in <6pgefd$37q_at_dfw-ixnews8.ix.netcom.com>...
> >Increase the size of your rollback segment. It doesn't have space to expand
> >to another extent.
> >
> >Try to make a huge rollback segment for this transaction only.
> >
> >use
> >
> >set transaction use rollback segment <rb name>;
> >
> >Hope it can help
> >
> >Winnie
>
>

-----== Posted via Deja News, The Leader in Internet Discussion ==----- http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum Received on Mon Jul 27 1998 - 19:02:42 CDT

Original text of this message

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