TRANSACTIONS_PER_ROLLBACK_SEGMENT can not be used to limit the number of transactions per rollbeck sagment. And it doesn't matter if RBs are public or private.
This parameter is there only to help the server to calculate how many rollback segments it has to open upon startup, based on the TRANSACTIONS parameter. But it doesn't impose any limit in the number of transactions each rollback can actually handle.
AFAIK there is no way you can limit the number of transactions per rollback segment. Unless of course you have only one rollback segment online, whereas TRANSACTIONS parameter impose that limit.
Jurij Modic ASCII a stupid question, get a stupid ANSI
24 hours in a day .... 24 beer in a case .... coincidence?
When many transactions are concurrently proceeding, more rollback information is generated at the same time. You can indicate the number of concurrent transactions you expect for the instance with the initialization parameter TRANSACTIONS, and the number of transactions you expect each rollback segment to have to handle with the initialization parameter TRANSACTIONS_PER_ROLLBACK_SEGMENT. Then, when an instance opens a database, it attempts to acquire at least TRANSACTIONS/ TRANSACTIONS_PER_ROLLBACK_SEGMENT rollback segments to handle the maximum amount of transactions. Therefore, after setting the parameters, create TRANSACTIONS/TRANSACTIONS_PER_ROLLBACK_ SEGMENT rollback segments.
TRANSACTIONS_PER_ROLLBACK_SEGMENT specifies the number of concurrent transactions you expect each rollback segment to have to handle. The minimum number of rollback segments acquired at startup is TRANSACTIONS divided by the value for this parameter. For example, if TRANSACTIONS is 101 and this parameter is 10, then the minimum number of rollback segments acquired would be the ratio 101/10, rounded up to 11.
But the question was "how to limit the number of transactions allowed in the rollback segment?", not how to specify the expected number of transactions per RB. As allready said, you can't use this parameter to limit the allowable transactions per RB.
Jurij Modic ASCII a stupid question, get a stupid ANSI
24 hours in a day .... 24 beer in a case .... coincidence?
so if I set the transactions =15 and the transactions_per_rollback_segment =1 and I have 15 rollback segments will this then force a transction into a separate rollback segment?
The transactions_per_rollback_segment parameter is only read and used at instance startup to determine whether or not the system should bring more public rollback segments online.
It doesn't limit usage. If t/tprs rounded up <= online public rb segs, nothing happens. End of story.
Bookmarks