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 Question

Re: Rollback Segments Question

From: Howard J. Rogers <howardjr2000_at_yahoo.com.au>
Date: 8 Apr 2003 23:28:53 -0700
Message-ID: <e7410c46.0304082228.19c1b8ec@posting.google.com>


Tim X <timx_at_spamto.devnul.com> wrote in message
> >
> > PUBLIC rollback segments come up automatically. PRIVATE rollback
> > segments must be in init.ora or brought up manually. You probably have
> > PUBLIC rollback segments, which you can verify by looking at the owner
> > of the rollback segment
> >
> Ah, yes - that is it. Thanks for the clarification. The manual does
> not specifically say the init.ora parameter needs to be there for
> private rollback segments to be automatically brought up - it just
> says rollback segments. This is what had me a bit confused as I had
> found with public rollback segments they automatically come up with or
> without the init.ora entry.
>
> thanks
>
> Tim

For a long time before 9i, I gave up on private rollback segments, and solely used public ones. Their tendency to come online automatically meant they were very convenient, and I didn't need to remember to edit my init.ora after creating a fresh batch.

Technically, however, public rollback segments were designed only to be used in an Oracle Parallel Server environment (now known as a RAC, or Real Application Cluster). Each instance in a cluster needs its own set of rollback segments... unless you create a pool of shareable ones... which is exactly what a public rollback segment is. Shareable amongst instances.

Now, I spent a long time trying to work out whether there were any structural differences between private and public rollback segments, and never did find any, and I never ran into trouble either. But just be aware that you're not "supposed" to use public ones if you're not running Parallel Server.

Also, be aware that not every public rollback segment will come online automatically. Only those that the instance computes are required will be brought online. And the basis of that computation is TRANSACTIONS and TRANSACTIONS_PER_ROLLBACK_SEGMENT init.ora parameters. If you say you are expecting 1000 concurrent transactions (ie, TRANSACTIONS=1000) and also say that you think 4 transactions per rollback segment is a satisfactory ratio (ie, TRANSACTIONS_PER_ROLLBACK_SEGMENT=4), then the instance computes that 250 public rollback segments are required to be brought online at startup.

If you only have 120 of the things pre-created, then no real worries, because it will bring all 120 online anyway, and then open the database without further protest. But if you'd created 300 of the things, be prepared to see 50 of them remain offline.

I used to set TRANSACTIONS absurdly high and T_P_R_B_S absurdly low to force all the public segments I'd created to be brought online anyway. I wasn't aware of any adverse effects on the rest of the database from 'playing' with the parameters in this way.

Regards
HJR Received on Wed Apr 09 2003 - 01:28:53 CDT

Original text of this message

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