首页 > 数据库 > Oracle > Oraclel联机日志文件损坏的对策
分情况讨论如下
1. 丢失了某个日志组的多个文件中的一个
(1) 识别损坏的日志文件
(2) 确认该日志文件不是当前正在使用的日志文件组;如果是当前,那么 alter system switch logfile;
(3) alter database drop logfile member '/directory/member';
(4) alter database add logfile member '/new directory/member' to group group#;
2. 丢失一个Inactive日志组的所有成员
(1) 识别损坏的日志文件
(2) 确保该日志文件组是inactive状态的, 也就是说不包含已经提交但还未写入数据文件的事务
(3) alter database clear logfile group 1;如果尚未归档,那么
alter database clear unarchived logfile group 1;
(4) 可能需要重新做一个备份,以保证备份策略不失效
3. 丢失了一个Acitve 日志组的所有成员
(1)识别损坏的日志文件
(2)确保该文件的状态是active
(3) alter system checkpoint;
(4) 如果checkpoint成功,那么该日志组的状态应该变成inactive, 此时可以clear log group
(5)如果checkpoint失败,那么数据库已经进入不一致的状态,需要从备份中进行不完全恢复
4. 丢失了当前日志的所有成员
(1) 不完全恢复, 或者flashback database
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/100682/viewspace-1023009/ ,如需转载,请注明出处,否则将追究法律责任。