In order to have a private rollback segment come
on-line at database startup, you must ensure that the rollback
segment names are mentioned in the initSID.ora file as follows,
assuming you have already created 4 rollback segments named r01,
r02, r03 and r04 :

You can see that the rollback segments mentions in the
initSID.ora have indeed been brought on-line.

You must never put the SYSTEM rollback segment name in
the list - it always comes on-line, as can be seen from the above
output. You must only put the names of already created rollback
segments in the list. If you have a name that does not represent
a rollback segment, the database will not start correctly - as
shown below :

If the rollback_segments parameter is missing from iniSID.ora,
then the database will, by default, use any public
rollback segments that it knows about by bringing them on-line at
startup. The following shows this in action :

Private and Public Rollback Segments

If you are not running Parallel Server, then a private and
public rollback segment are effectively the same - except that a
public one comes on-line at startup without any further action
from the DBA.

If you are running Parallel Server, then many instances can
access a single database. Each instance can have its own private
rollback segments - which are used by itself, and can also
acquire a public rollback segment from the pool which is shared
between all the instances.