ORACLE不完成恢复ORA-00392,ORA-00312,ORA-00349
背景:
进行测试库不完全恢复,rac-asm至单实例-文件系统,recover完成后,mount状态的database 执行 alter database resetlogs 报错;
21:18:53 SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-00392: log 5 of thread 1 is being cleared, operation not allowed
ORA-00312: online log 5 thread 1: '+test_dg'
21:18:58 SQL> alter database clear logfile group 4;
alter database clear logfile group 4
*
ERROR at line 1:
ORA-00349: failure obtaining block size for '+test_d
检查所有的logfile路径都是在asm磁盘组里。
操作:
添加两组logfile到正确位置
alter database add logfile group 1 '/test/sys/redo1' size 512M ;
alter database add logfile group 2 '/test/sys/redo2' size 512M ;
2.检查文件头
select CHECKPOINT_CHANGE#,count(*) from V$DATAFILE_HEADER group by CHECKPOINT_CHANGE#;
3.重做控制文件
ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS '/tmp/control.sql' resetlogs ;
vi /tmp/control.sql ---- 将 asm文件的logfile删除,保留刚才新加的两个 group 1,group 2即可。
4.shutdown abort;
5.sqlplus / as sysdba
@/tmp/control.sql
6. alter database open resetlogs;
可能会报错:
ERROR at line 1:
ORA-38856: cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled
alter database add logfile thread 2 ('/test/sys/redo19') size 500M ;
alter database add logfile thread 2 ('/test/sys/redo20') size 500M ;
alter database open resetlogs;
重新启动一次、
7.shutdown abort ;
8.startup;
添加redo,tempfile文件。

浙公网安备 33010602011771号