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: rollback segment question

Re: rollback segment question

From: Daniel Morgan <dmorgan_at_exesolutions.com>
Date: Fri, 09 Aug 2002 15:16:46 GMT
Message-ID: <3D53DCD8.85672E45@exesolutions.com>


Richard Foote wrote:

> Hi Stef,
>
> One thing to add.
>
> With the way rollback (undo) is automatically handled in 9i (providing
> you don't get ORA600s), the sharing algorithm is improved in that RBS
> can "steal" extents from each other. This means the SET TRANSACTION
> statement is now redundant (and could cause errors unless appropriate
> parameters are set).
>
> Cheers
>
> Rihcard
>
> Richard Foote wrote:
> >
> > Hi Stef,
> >
> > The short answer is no.
> >
> > The reason being that Oracle's way is better :)
> >
> > By allowing all rollback segments to be shared and used in a round robin
> > fashion, this means all things being equal, that the load among the
> > rollback segments be evenly spread. This is a desirable outcome.
> >
> > By "hard coding" which rollback segment belongs to which tablespace, or
> > which table or which user, etc., you're increasing the likelihood of a
> > particular RBS being overloaded while others are sitting back and
> > relaxing.
> >
> > An option you do have if you really want to use a particular RBS at the
> > transaction level, is to use the SET TRANSACTION USE ROLLBACK SEGMENT
> > blah. This is typically done when the transaction is large and the blah
> > RBS is a specially large sized one that can cope with the excess amount
> > of data. This though is an exception and one that is quite commonly
> > abused.
> >
> > Cheers
> >
> > Richard
> >
> > stef wrote:
> > >
> > > Hi, everybody
> > >
> > > I'm a newbie in Oracle :) and I would like to know one thing
> > >
> > > When you create a rollback segment, is it possible to "assign" the segment
> > > to a specific
> > > data tablespace..? like Sybase or sql server do.
> > >
> > > example:
> > > In the same database "TEST_DB" :
> > > 1) create a data tablespace "datas_01".
> > > 2) create a second data tablespace "datas_02".
> > > 3) then create a rbs called "global_rbs" (mapping on a tablespace YYYY, not
> > > important )
> > >
> > > Now, as I can see, all datas_01 and datas_02 will "use" the same global_rbs
> > > ok...
> > > Can I say now, datas_01 use only global_rbs and datas_02 use... another rbs
> > > for example ?
> > >
> > > thanx....

Actually, Richard, you are incorrect. But not because you don't know the correct answer but because I think you are addressing a question that was not asked. The original question was:

"When you create a rollback segment, is it possible to "assign" the segment to a specific data tablespace..? like Sybase or sql server do."

In Oracle all rollback segments are assigned to, or created in, a specific tablespace. There is no other way to do it.

The question I think you answered was whether a rollback segment could be assigned to a specific user or schema ... and to that the answer is, in fact, no.

Daniel Morgan Received on Fri Aug 09 2002 - 10:16:46 CDT

Original text of this message

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