一、损坏非当前联机日志
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 2 NO INACTIVE
2 3 NO CURRENT
3 1 NO INACTIVE
当前redo01是非当前状态,并且已经归档。
删除redo01.log
关闭数据库重新启动,报错
执行SQL> alter database clear logfile group 1; 重建改日志文件。
SQL> alter database open;
Database altered.
如果该日志组还没有归档,则需要用:
执行SQL> alter database clear unarchived logfile group 1; 重建改日志文件。
SQL> alter database open;
Database altered.
二、损坏当前联机日志 建议在归档模式下 非归档模式也可
SQL> select group#,sequence#,archived,status from v$log;
当前redo01是当前状态,删除redo01.log
关闭数据库未报错重新启动,报错
首先执行:SQL> alter database clear unarchived logfile group 1;看是否能重建如果报如下 错误:
关闭数据库
处理如下:
参考原文如下: