How big a rollback segment should be?


Question 1:
Is it best to have one big roollback segments or a few small ones ?

Why all the rollbacks segments are not automatically online at the startup, i know how to change that but i don"t know why.



Ans1:

Find the parameter "rollback segments = (...)" in the file init<sid>.ora or config<sid>.ora, type the rollback segments' name in the parenthesis, and restart the database.  The rollback segments should be online automatically!



Ans2:

> Is it best to have one big roollback segments or
> a few small ones ?

It sounds like you only have a small database, but generically, the number of rollback segments needed is determined by the number of concurrent transactions.  The rough rule of thumb is to create n/4
rollback segments where n is the number of  concurrent transactions.

> why all the rollbacks segments are not automatically online at the
> startup, i know how to change that but i don"t know why.

If the rollback segments are private (as it seems), add a line to your init.ora file that lists the rollback segment names:

rollback_segments = rbs1, rbs2, ...

Pete



Ans3:

For OLTP applications is best to have many small rollback segments, one to four per concurrent session. For batch jobs and DSS applications is best to have a few big rollback segments. Small rollback segments can be cached in memory.

You can associate a transaction to a specific rollback segment such as small transactions use small rollback segments and big transactions use big rollback segments.

Use the command:
SET TRANSACTION USE ROLLBACK SEGMENT <rollback segment name>.

Rollback segments aren't automatically online because they could be used for some instances which access the same database (Oracle Parallel Server Option with public rollback segments).

Alexandre Leite.
Oracle Certified Professional
[email protected]
 
 

Hosted by www.Geocities.ws

1