ORA-00600[2662]/[2663],ORA-01110
时间:2010-10-11 来源:tanyangxf
rman target /
RMAN>startup nomount;
RMAN>retore controlfile from autobackup;
RMAN>alter database mount;
RMAN>restore database;
RMAN>recover database;
此时报ora-01110的错误,由于是测试库,数据丢失一点没关系,所以也不那么麻烦了,不然用
recover database using backup controlfile until cancel;然后用归档日志应该是能恢复的,
归档还在现网,有10G大。。down下来太慢了。。所以打算假如隐含参数_allow_resetlogs_corruption来解决,现在只要能把库打开就ok,其他的不用想了。。
SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;
System altered.SQL>startup mount
SQL>alter database open resetlogs;
查看alert.log开始报ORA-00600[2663]错误
对于ORA-00600第一个参数是2662或者2663都是由于SCN不一致造成的,要做adjust scn操作
1. create pfile=’/tmp/tan.ora’ from spfile;
2. shutdown abort
3. startup mount pfile=’/tmp/tan.ora’
4. alter session set events ‘10015 trace name adjust_scn level 1′;
5. alter database open; 这里的level根据实际的需要,从1往上增,直到不再出现ORA-00600[2662]/[2663]为止,由于我这是测试库,不想那么麻烦,所以直接设成了10
ORACLE终于顺利打开了,然而alter.log中又报ORA-00600[4193]/[4194],这个错误是由于UNDO引起的,方法是将undo改成manual模式,然后重建undo,再改成auto,根据metalink上的方法,如下:
Basic Steps to be Followed While Solving ORA-00600 [4194]/[4193] Errors Without Using Unsupported parameter [ID 281429.1]
Single instance
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 <undo tablespace name> including contents and datafiles
Step 3
——-
SQL> Shutdown immediate;
SQL> Startup nomount ; —> Using spfile
SQL>Alter system set undo_tablespace=<new Undo tablespace created> scope=spfile;
SQL> Shutdown immediate ;
SQL> Startup
Check if error is reported
由于是测试用的库,所以很多东西不用考虑,如果是生产库,以上方法请慎用。