场景描述:
一ORACLE数据库有3组ONLINE REDOLOG,每组2个联机日志;
故障模拟:
现将ONLINE REDOLOG GROUP 1中的2个联机日志在OS层面删除;
现象描述:
不管此日志是否是CURRENT,只要日志没满数据库都可以运行;
但遇到一次日志切换时,当前的就报告此时的SEQUENCE#不能被归档;
直到把所有的ONLINE REDOLOG 全占满后,数据库报某一日志不能被归档,此时将不能通过PL/SQL登陆到数据库;
只能通过SQLPLUS进入;
此时可以通过把坏的REDOLOG GROUP 手工清除归档;
alter database clear unarchived logfile group 1;
之后会出现某一归档日志被跳过; 如归档50\51--53, 52号归档日志被跳过的情况。
并且,之前删除的REDOLOG1中的2个联机日志会自动创建出来.
###此时要特别注意####
即使看起来online redolog group 1正常,之前模拟删除的2个联机日志也已经被创建出来,但此时此组ONLINE REDOLOG GROUP 还是不可用.
必须通过以下两个方式才能请作用:
1\ 数据库重启动; 后REDOLOG GROUP 1 生效;
2\ 手工重新创建 REDOLOG GROUP 1
ALTER DATABASE DROP LOGFILE GROUP 1;
alter database add logfile group 1 ('/redolog1/redo01.log', '/redolog2/redo01_02.log') size 100m reuse;
阅读(2048) | 评论(0) | 转发(0) |