I am recreating all rollback segments for Oracle 22.214.171.124/NT-SP2. Currently, I have 20 PUBLIC rollback segments without OPTIMAL values and their size are different. I want to create them using storage as
Right now I have 3 G (1G x 3 datafile for RBS) for rollback. If I want to specify maxextents in my storage settings above, how to calculate it? 20 rollback * 100 M = 2 G. IF I don't specify maxextent, what kind of problem I may run into?
There isn't quite a way to calculate the # maxextents. Typically, this is set to a high value. If you do not specify the # maxextents, then each of the rbs will end up having the default value, ie, the value of maxextents of the tablespace. If the ts or rbs value of the maxextents is low, and say a large transaction takes up the no. of maxextents defined (either for the rbs or the ts), the transaction would fail.
My take is you would want to prevent a maxextents error from occuring by setting it high - I usually set it to unlimited for rollbacks, and then manage the rb segs in other ways - by properly sizing them on creation with the transactions and monitoring the tablespace/datafiles via scripts or processes. If you tailor the maxextents to your 3G now, then at a later time get some more disk space for them, you could easily overlook readjusting the value and have it bite you when you don't expect it.