If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

I have 25 RBS
looking in DBA_Segments, the are all different sizes and all have a different high water mark, they are not set to an optimal size yet and all have the same storage parameters(Initial, next, min, max)

When the subject of increasing rollback segments is discussed, what does this actually mean.
I always thought that rollback segments were dynamic and would grow and shrink dependant on their storage parameters, only limited by the size of the tablespace they live in or their max extents.

Does increasing the size of RBS mean giving them a larger optimal size, or larger amount of min extents ?

Also..

What is the advantage of issuing :-
Set transaction use rollback segment XXXXX. -
I always thought that this would allow a session to maybe use a large RBS for a large transaction, but as all RBS's are dynamic an would grow/shrink depending upon the transaction and optimal size, would it not be equally as proficient to use any rollback segment /

Someone Please enlighten me.

The reason I am asking is because I have been asked to increase RBS size by a pseudo DBA, who is my senior and I need to be armed with a more clearer understading of them before I tackle this subject.

First of all, you have a lot of RBS : 25 !!!
How many simultaneous connections do you have (at max) ???
Well, apart from this point, let's answer your questions :
increasing the size of a rollback segment often means turning a rbs offline, dropping it, and recreating it using a greater value for the initial extent.
In your architecture, there are 2 bad things :

1) you do not have optimal values set. this is horrible since Oracle spends a lot of time allocating and deallocating extents for your rbs, while an optimal prevents this for small transactions (since you stay under the optimal value, there is no need to increase or decrease the size of the rbs)

2) it does not appear to be very wise to use the same storage parameters for all your rbs since you have big ones and small ones.

In my opinion, you should first think about the number of rbs, then design some of these rbs as big ones (let's say 2 for example), and the others as small ones.
Big ones would specifically be used for big transactions, using : set transaction use rollback segment ...

I have 25 RBS
looking in DBA_Segments, the are all different sizes and all have a different high water mark, they are not set to an optimal size yet and all have the same storage parameters(Initial, next, min, max)

When the subject of increasing rollback segments is discussed, what does this actually mean.

I always thought that rollback segments were dynamic and would grow and shrink dependant on their storage parameters, only limited by the size of the tablespace they live in or their max extents.

Sort of yes, sort of no. Typically, RBS grow with larger DML statements. Unless you have an OPTIMAL setting, they will not shrink. Extends and shrinks should be limited in rollback segments to optimize performance.

Remember, RBS are also used for SELECT statements so you get a consistent view of the data and will NOT expand the RBS. If this is the case, you will receive an ORA-1555 error and you should adjust the OPTIMAL parameter of your RBS.

Does increasing the size of RBS mean giving them a larger optimal size, or larger amount of min extents ?

In my mind, I think that means that the OPTIMAL size of the rollback segment needs to be adjusted.

Also..

What is the advantage of issuing :-
Set transaction use rollback segment XXXXX. -
I always thought that this would allow a session to maybe use a large RBS for a large transaction, but as all RBS's are dynamic an would grow/shrink depending upon the transaction and optimal size, would it not be equally as proficient to use any rollback segment /

IMHO, If you have properly sized your rollback segments, there is no advantage. RBS are assigned on a round-robin basis and your transaction should be able to use any available RBS.

Someone Please enlighten me.

The reason I am asking is because I have been asked to increase RBS size by a pseudo DBA, who is my senior and I need to be armed with a more clearer understading of them before I tackle this subject.

Many Thanks

Suresh

I'm sure he/she is experiencing a problem. Ask them why they think the RBS need to be increased.

The reason I have 25 rollback segements is based upon the calculation : Transactions/Max Trans per rollback Segment = 125/5.

After speaking to this 'senior???' he told me that he wanted them increased due to Dr.Watson Errors when executing a large batch transaction ???. I told him to get in touch with the application vendor as this was more an MS memmory management issue, which by the way is not fixed in W2k and probably not fixed in WindowsXP.

I told him that surely Oracle would omit an ORA-XXXX error message if rollback storage parameters/space was being reached and there was nothing in the alert.log to say that there was problem and no such message appeared on screen, but he did not believe me. I therefore proved it to him by putting a trace on the session running the transaction and showed him the trace file. I still don't think he is convinced.. I think he needs a dba course.

At least now I know I need to set an optimal setting, can this be done with the following command :