In svrmgrl, when I try to startup my database, I get the error
message:
ORA-01534: rollback segment 'R01' doesn't exist
Is there anything I can do to re-create this rollback segment?
Thanks.
Bob Laurent
Bob,
It seems that you have a rollback segment specified in the init.ora file
but the rollback segment either has not ever been created or has been
droped accidently. When you startup Oracle, Oracle tries to find the
rollback segment.
The solution would be either you create the rollback segment or you
remove the entry from init.ora file. The init.ora file usually sits in
your /ORACLE_HOME/RDBMS71 directory.
Hope this helps.
--
Bo Lu
Programmer/Analyst
Hospital and Clinical Informatics, U. of Utah
Phone: 801-581-5964, E-Mail: bo...@hsc.utah.edu
Try to look your initXXX.ora file.
It locates at $ORACLE_HOME/dbs direstory.
(Note: XXX in string initXXX.ora means your $ORACLE_SID, so
type env, find ORACLE_SID and then find file initXYZ.ora if the
ORACLE_SID=XYZ)
In that file try to find string like
rollback_segment=(r01,r02...
Comment this line (don't forget the number and names of that RBS
segments) and restart ORACLE, start SQLDBA (connect internal),
And from menu use
STORAGE -> ROLLBACK SEGMENT -> CREATE sequence.
Create PUBLIC segments with NAMEs same that you've seen in your
initQWERTY.ora file in tablespace RBS.
BUT: First you must create tablespace RBS (or whatever you like)
(if it doesn't exists) with plenty of space in it.
Don't mix your rollback segments with working tablespace.
One more thing (before first): maybe your rollback segments are offline?
Try STORAGE->ROLLBACK SEGMENT->SET ONLINE sequence.
After you recreate your rollback_segments uncomment
rollback_segments=(r01...
line in your initUIOP.ora file and (traditionally) restart ORACLE.
Ooh-Yeah. Remember one trouble on this way.
If you don't have temporary rollback segment - it seems you can't
create any big rollback segment at RBS. Try to create temporary
rollback segment.
Bob -
To add to Bo's comments... since the database won't come up without the rollback
segment and, since you cannot create the rollback segment with the database down, the
only solution that I'm aware of is to:
(1) comment out the offending rollback segment from the init.ora, then
(2) startup the database, then
(3) recreate the missing rollback segment, then
(4) remove the comment from the init.ora so that next time the instance is started,
the rollback segment will automatically be brought online.
Of course, you could consider using PUBLIC rollback segments in future. This obviates
the need to specify the ROLLBACK_SEGMENTS parameter in your init.ora. If you are
running Oracle7, you'll find the pain of managing PUBLIC rollback segments has been
greatly reduced when compared to Version 6.
Allan Seabrook
--------------------------------------------------------------------------
Principal Consultant
Oracle South Africa
Tel (Cellular) : +27 11 82 800 4344
Fax : +27 11 313 5126
E-Mail : seab...@is.co.za
--------------------------------------------------------------------------
This is probably referenced in your init.ora file. Try removing it,
starting up, & if it starts, doing a 'CREATE ROLLBACK SEGMENT ...'
to recreate it.
/Hans
I suggest you take these steps:
1. Shutdown the database.
2. Edit the init.ora file, removing R01 from the list of active rollback segments
(ROLLBACK_SEGMENTS = line).
3. Start the database.
4. Create the rollback segment again.
5. Shutdown the database.
6. Edit the init.ora file, putting R01 back in the line edited in step 2.
7. Start the database again.
This should be enough, unless you're facing some other problem.
'hope this can help.