在线重做日志出现讹误 - 不可对此redo log进行drop操作 - 需要是用CLEAR LOGFILE操作
症状
当打开数据库时,发现在其中一个redo log文件存在讹误报错。可能存在以下报错:
ORA-16038 log %s sequence# %s cannot be archived
ORA-354 corrupt redo log block header
ORA-353 log corruption near block <num> change <str >time <str>
ORA-367 checksum error in log file header
ORA-368 checksum error in redo log block
无法drop掉这个redo log,因为它需要用于实例恢复。
注意:在线重做日志当遇到以下情况下不可被drop:
- 数据库仅有两个日志组
- 出现讹误的redo log属于当前日志组
原因
有许多原因可以导致日志文件出现讹误,比如硬件错误等。
解决方法
清理当前存在问题的日志文件。
- 语法:
alter database clear <unarchived> logfile group <integer