今天重启Linux测试库,启动到open状态时出现ORA-16068错误
SQL> startup
ORACLE instance started.
Total System Global Area 286332064 bytes
Fixed Size 451744 bytes
Variable Size 134217728 bytes
Database Buffers 150994944 bytes
Redo Buffers 667648 bytes
Database mounted.
ORA-16068: redo log file activation identifier mismatch
ORA-00312: online log 1 thread 1: '/d01/app/oracle/oradata/myora9/redo01.log'
明显是redo log file的identifier不匹配,方法之一就是使用clear命令清空这个logfile(相当于删除重建)
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
1 1 113 104857600 1 YES INACTIVE 1.1856E+10 16-MAR-09
2 1 114 104857600 1 NO CURRENT 1.1856E+10 16-MAR-09
3 1 112 104857600 1 YES INACTIVE 1.1856E+10 16-MAR-09
logfile group 1 已经archived
SQL> alter database clear logfile group 1;
Database altered.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-16068: redo log file activation identifier mismatch
ORA-00312: online log 2 thread 1: '/d01/app/oracle/oradata/myora9/redo02.log'
SQL> alter database clear unarchived logfile group 2;
alter database clear unarchived logfile group 2
*
ERROR at line 1:
ORA-00393: log 2 of thread 1 is needed for recovery of offline datafiles
ORA-00312: online log 2 thread 1: '/d01/app/oracle/oradata/myora9/redo02.log'
ORA-01110: data file 16: '/d01/app/oracle/oradata/myora9/mytest01.dbf'
发现datafile 16有问题,要恢复。
SQL> quit
RMAN> recover datafile 16;
Starting recover at 17-MAR-09
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=14 devtype=DISK
starting media recovery
archive log thread 1 sequence 111 is already on disk as file /d02/arch/1_111.dbf
archive log thread 1 sequence 112 is already on disk as file /d02/arch/1_112.dbf
archive log thread 1 sequence 113 is already on disk as file /d02/arch/1_113.dbf
archive log filename=/d02/arch/1_111.dbf thread=1 sequence=111
archive log filename=/d02/arch/1_113.dbf thread=1 sequence=113
media recovery complete
Finished recover at 17-MAR-09
RMAN> exit
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-16068: redo log file activation identifier mismatch
ORA-00312: online log 1 thread 1: '/d01/app/oracle/oradata/myora9/redo01.log'
SQL> alter database clear logfile group 1;
Database altered.
SQL> alter database open;
Database altered.
SQL> alter database datafile 16 online;
Database altered.
SQL> startup
ORACLE instance started.
Total System Global Area 286332064 bytes
Fixed Size 451744 bytes
Variable Size 134217728 bytes
Database Buffers 150994944 bytes
Redo Buffers 667648 bytes
Database mounted.
ORA-16068: redo log file activation identifier mismatch
ORA-00312: online log 1 thread 1: '/d01/app/oracle/oradata/myora9/redo01.log'
明显是redo log file的identifier不匹配,方法之一就是使用clear命令清空这个logfile(相当于删除重建)
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
1 1 113 104857600 1 YES INACTIVE 1.1856E+10 16-MAR-09
2 1 114 104857600 1 NO CURRENT 1.1856E+10 16-MAR-09
3 1 112 104857600 1 YES INACTIVE 1.1856E+10 16-MAR-09
logfile group 1 已经archived
SQL> alter database clear logfile group 1;
Database altered.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-16068: redo log file activation identifier mismatch
ORA-00312: online log 2 thread 1: '/d01/app/oracle/oradata/myora9/redo02.log'
SQL> alter database clear unarchived logfile group 2;
alter database clear unarchived logfile group 2
*
ERROR at line 1:
ORA-00393: log 2 of thread 1 is needed for recovery of offline datafiles
ORA-00312: online log 2 thread 1: '/d01/app/oracle/oradata/myora9/redo02.log'
ORA-01110: data file 16: '/d01/app/oracle/oradata/myora9/mytest01.dbf'
发现datafile 16有问题,要恢复。
SQL> quit
RMAN> recover datafile 16;
Starting recover at 17-MAR-09
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=14 devtype=DISK
starting media recovery
archive log thread 1 sequence 111 is already on disk as file /d02/arch/1_111.dbf
archive log thread 1 sequence 112 is already on disk as file /d02/arch/1_112.dbf
archive log thread 1 sequence 113 is already on disk as file /d02/arch/1_113.dbf
archive log filename=/d02/arch/1_111.dbf thread=1 sequence=111
archive log filename=/d02/arch/1_113.dbf thread=1 sequence=113
media recovery complete
Finished recover at 17-MAR-09
RMAN> exit
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-16068: redo log file activation identifier mismatch
ORA-00312: online log 1 thread 1: '/d01/app/oracle/oradata/myora9/redo01.log'
SQL> alter database clear logfile group 1;
Database altered.
SQL> alter database open;
Database altered.
SQL> alter database datafile 16 online;
Database altered.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8745319/viewspace-571177/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8745319/viewspace-571177/