分类: Oracle
2010-10-11 14:24:31
SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;
System altered.This error normally happens for a new transaction. The trace file
actually shows an active transaction for the undo segment because this
is the transaction created by the same process.If the undo segment
happens to have an active transaction , then Oracle
may recover it later with no problems .
Normally if the header is dumped after the error, the active transactin is gone.
So a Simpler option to resolve this issue is.
Step 1
——–
SQL> Startup nomount ; –> using spfile
SQL> Create pfile=’/tmp/corrupt.ora’ from spfile ;
SQL> Shutdown immediate;
Step 2
——-
Modify the corrupt.ora and set Undo_managment=Manual
SQL> Startup mount pfile=’/tmp/corrupt.ora’
SQL> Show parameter undo
it should show manual
SQL> Alter database open ;
If it comes up
SQL> Create rollback segment r01 ;
SQL> Alter rollback segment r01 online ;
Create a new undo tablespace
SQL> Create undo tablespace undotbs_new datafile ‘<>’ size <> M ;
Drop the Old undo tablespace
SQL> Drop tablespace
Step 3
——-
SQL> Shutdown immediate;
SQL> Startup nomount ; —> Using spfile
SQL>Alter system set undo_tablespace=
SQL> Shutdown immediate ;
SQL> Startup
Check if error is reported
由于是测试用的库,所以很多东西不用考虑,如果是生产库,以上方法请慎用。