问题描述
节点二由于redo故障问题无法正常启动
目前节点二为mount状态,open报错。alter database open
ERROR at line 1:
ORA-00322: log 28 of thread 2 is not current copy
ORA-00312
查询v$log视图发现节点二的redo log组没有状态为current的日志组。大概率redo log已经损坏,无法正常打开数据库进行应用。
清理损坏的redo
1、备份所有redolog
2、对损坏的redo log组进行清理(由于28组redo log状态为active,active和CURRENT状态的redo可能存在无法清理的情况)
alter database clear unarchived logfile group 28;
SQL> alter database clear unarchived logfile group 28;
alter database clear unarchived logfile group 28
*
ERROR at line 1:
ORA-01624: log 28 needed for crash recovery of instance task1 (thread 1)
ORA-00312: online log 28 thread 1: '+DATA2/TASK/redo28.log'
3、如果无法清理,在1节点进行disable 二节点
SQL> alter database disable thread 2
4、在1节点清理二节点故障redo
SQL> alter database clear logfile group 28;
5、在1节点重新开启二节点
SQL> alter database enable thread 2
6、数据库打开
SQL> alter database open
当然除了这个方式,也可以通过dbca删除节点实例,再增加实例来修复。