分类: Oracle
2008-05-19 15:47:07
Thu Mar 06 14:51:45 2008 Thread 1 advanced to log sequence 216 Current log# 10 seq# 216 mem# 0: F:\ORACLE\REDO10.LOG Current log# 10 seq# 216 mem# 1: D:\ORACLE\PRODUCT\10.2.0\ORADATA\ DB10\REDO11.LOG Thu Mar 06 14:53:36 2008 Errors in file d:\oracle\product\10.2.0\admin\db10\bdump\db10_lgwr_2224.trc: ORA-00345: redo log write error block 23 count 2 ORA-00312: online log 10 thread 1: 'F:\ORACLE\REDO10.LOG' ORA-27072: File I/O error OSD-04008: WriteFile() failure, unable to write to file O/S-Error: (OS 1006) The volume for a file has been externally altered so that the opened file is no longer valid. Thu Mar 06 14:53:36 2008 Errors in file d:\oracle\product\10.2.0\admin\db10\bdump\db10_lgwr_2224.trc: ORA-00343: too many errors, log member closed ORA-00346: log member marked as STALE ORA-00312: online log 10 thread 1: 'F:\ORACLE\REDO10.LOG' |
这个消息缺少两个单词:实例终止(Instance terminated),在关闭和启动之后,警告日志将仍然提示文件丢失,丢失数据库是可以被打开的。
Thu Mar 06 14:56:51 2008 ALTER DATABASE OPEN Thu Mar 06 14:56:52 2008 Errors in file d:\oracle\product\10.2.0\admin\db10\bdump\db10_lgwr_2288.trc: ORA-00313: open failed for members of log group 10 of thread 1 Thu Mar 06 14:56:52 2008 Errors in file d:\oracle\product\10.2.0\admin\db10\bdump\db10_lgwr_2288.trc: ORA-00313: open failed for members of log group 10 of thread 1 Thu Mar 06 14:56:52 2008 Thread 1 opened at log sequence 216 Current log# 10 seq# 216 mem# 1: D:\ORACLE\PRODUCT\10.2.0\ORADATA\DB10 \REDO11.LOG Successful open of redo thread 1 …some other messages… Thu Mar 06 14:56:59 2008 Completed: ALTER DATABASE OPEN |
丢失数据文件
迄今为止,从丢失控制文件或重做日志文件中恢复几乎不会丢失数据,单成员重做日志组例子可能发生数据丢失,提到数据文件,有两种分类:一个对于你(你的数据)很重要,一个对于Oracle(它的数据)很重要,为了理解这个分类,有两个问题:
1、如果你的表空间丢失了一个数据文件会发生什么?
2、如果SYSTEM表空间(作为Oracle所属的表空间)丢失了一个数据文件将会发生什么?
如果你回答这些问题时不考虑归档,那么你会保持50%左右出错的机会。
如果在非归档模式下操作,丢失了一个数据文件 -- 任一数据文件 -- 那就完了,实例终止。如果在归档模式下操作,那回答上面的两个问题的答案是不一样的:数据文件丢失意味着实例仍然在工作,丢失一个Oracle专用的数据文件意味着实例终止了。在“备份和恢复高级用户指南”中“数据文件丢失后的恢复:情景”小节非常详细地写出了。
小结
几乎所有关于丢失特定文件的备份和恢复情景都可以复制到一台使用非常便宜的闪存盘的PC上,无论是在一台有大量CPU和充足内存的AIX 5300L上还是在你的能勉强运行Oracle的个人桌面机/笔记本电脑上,原理实际上都是一样的,自己尝试一下吧!这些没有压力的最佳实践训练对生产环境中的恢复非常有帮助,当你的实例崩溃时,时间就是金钱。