Hi ,
why does Public Rollback segment does not need an entry in init parameters & could u pls tell me the difference between public rollbacksegment and non public rollback segment .
Thanks in advance
Printable View
Hi ,
why does Public Rollback segment does not need an entry in init parameters & could u pls tell me the difference between public rollbacksegment and non public rollback segment .
Thanks in advance
A publick rollback segment is available to all Database instances and is brought online when the database is started.( For more then one instances)
Whereas, a private rollback segment is available only to the instance that brings the rollback segment online.( For one instance only)
So a public rollback segment is a kind of public property that's why we need not to make an entry in init parameter of a single database's init.ora file.
Hope it helps
Sandy
Hi ,
I have 6 public rollback segments present but i don't have transactions and transactions_per_rollback_segment parameters set in my production database . still the database is working fine .
and we are not aware of the values for above parameters . presently we are we are doing some periodic batch loading .
could anybody tell me if this becomes an issue at any point of time .
pls help
There is no need of public rollback segments because the instance that gets first the PRBS keeps it untill shutdown. Accordingly, your instances might end up with improperly balanced RBSs.
if you are using PUBLIC RBS then forget those parameter!
plus they have default values
You both are correct, 'EXPERTS' :-)
Sandy
Hi ,
I could imagine value for transactions_per_rollback_segment but what could be the value for transaction prameter at any point of time . ( i believe a transaction is said to be completed, when commit is issued ) does this mean that number of transactions = number of process / sessions connected to the instance ?
hope i am not deviating from main question
One way to figure that out (in a big database) is to shedule a job run every 5' minute within say 24 hours. The job would execute a function which returns count(*) from v$transaction; and inserts the value amount in some temp table, call it T1. Then you can select avg(amount) from T1; This would give you the approximate/avg amount of transactions at a given point of time. You don't have to run the function every 5' in 24 hours. You may as well run it every minute within 2 hours or so.Quote:
Originally posted by prakashs43
Hi ,
I could imagine value for transactions_per_rollback_segment but what could be the value for transaction prameter at any point of time .
If you are using Oracle9i you can easily find the maximum number of concurrent transaction at any time in the last 7 days with the following query:
SELECT MAX(concurrency) FROM v$undostat;
may be select max(MAXCONCURRENCY) from v$undostat :)