Redo 日志组的状态:
Current:目前正在写的日志组;
Active:目前不在写,但是还未进行ckpt,即cache中脏数据未写入datafile,恢复时需要用到此日志组;
Inactive:目前不在写,已进行ckpt,实例恢复不需要此日志组。
由于每3秒进行的检查点并不是完全检查点,并不保证脏数据完全写入datafile,所以做实验可以看到,手工执行alter system switch logfile后,原来current的日志处于active状态,说明对应的脏数据没有写完成,要经过N多个三秒后,状态会变成inactive。
丢失的恢复方法:查询v$log视图,查看日志状态,对于inactive的日志,直接alter database clear logfile。即可,因为这种日志已经完成了datafile的写,不需要恢复。
而丢失active和current日志组,都是比较麻烦的,必然会有数据丢失,如果有备份还好,recover database unitl cancel或scn都可以。如果没有备份,则需要隐含参数强制打开数据库,并导出文件,风险较大。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7969839/viewspace-664206/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7969839/viewspace-664206/