Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
SQL>
alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01139: RESETLOGS option only valid after an incomplete database recovery
SQL> select status from v$instance;
STATUS
------------
MOUNTED
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00316: log 1 of thread 1, type 0 in header is not log file
ORA-00312: online log 1 thread 1: '/oracle/oradata/TSMISC02/redo01.log'
SQL>
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 658443 generated at 11/15/2005 08:52:17 needed for thread 1
ORA-00289: suggestion : /oracle/oradata/TSMISC02/archive/1_62.dbf
ORA-00280: change 658443 for thread 1 is in sequence #62
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
IXDBA.NET技术社区
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/oracle/oradata/TSMISC02/system01.dbf'
ORA-01112: media recovery not started
SQL> alter database open resetlogs;
。。。
很长时间,就好像hang住了
又过了一会:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
SQL>
SQL> select status from v$instance;
select status from v$instance
*
ERROR at line 1:
ORA-03114: not connected to ORACLE
SQL> conn / as sysdba
Connected to an idle instance.
检查日志,发现:
[oracle@ts01 bdump]$ tail alert_TSMISC02.log
Errors in file /oracle/admin/TSMISC02/udump/tsmisc02_ora_10762.trc:
ORA-00600: internal error code, arguments: [2662], [0], [658448], [0], [664313], [12582921], [], []
Mon Nov 21 16:11:44 2005
Errors in file /oracle/admin/TSMISC02/udump/tsmisc02_ora_10762.trc:
ORA-00600: internal error code, arguments: [2662], [0], [658448], [0], [664313], [12582921], [], []
Mon Nov 21 16:11:44 2005
Error 600 happened during db open, shutting down database
USER: terminating instance due to error 600
Instance terminated by USER, pid = 10762
ORA-1092 signalled during: alter database open resetlogs...
此时我们可以通过Oracle的内部事件来调整SCN:
增进SCN有两种常用方法:
1.通过immediate trace name方式(在数据库Open状态下)
alter session set events 'IMMEDIATE trace name ADJUST_SCN level x';
2.通过10015事件(在数据库无法打开,mount状态下)
alter session set events '10015 trace name adjust_scn level x';
注:level 1为增进SCN 10亿 (1 billion) (1024*1024*1024),通常Level 1已经足够。也可以根据实际情况适当调整。
设置event adjust_scn:
alter session set events '10015 trace name adjust_scn level 1';
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup mount pfile=pfile.tmp