从媒介失败中恢复
媒介失败之后的重新存储和恢复在下一章中会进行更加详细的描述,并且在第二个OCP考试中也会详细考察,但是了解一下初级考试中的简单问题的基本恢复也是很有必要的。这些简单的问题是丢失了多路控制文件中的一个,和一个在线redo日志文件,以及关键和非关键数据文件丢失之后的完全恢复。
多路控制文件丢失的恢复
只要挽救了现有控制文件的多路拷贝,恢复损失的控制文件就是简单的。只要用挽救回来的控制文件的拷贝替换它就可以了。要从备份中重新存储被损坏的或者丢失的控制文件拷贝在这样的情况下是没有用处的,因为控制文件的所有的拷贝都必须是同样的;很明显,一个重新存储的拷贝不会与其他幸存的拷贝同步,更不用说是数据库的其它部分了。
实际上,在损坏发生的瞬间,环境就会终止。而像往常一样,数据库管理员的第一个反应就是坏了的环境应该重新启动。在NOMOUNT模式下,这不会成功的,并且会返回一个错误消息。警报日志将会描述哪个控制文件拷贝丢失了,还会在这个部分列出那些非默认情况的初始化参数——实际上使用了多少控制文件,以及它们都在哪里。在这一点上,你要注意三点。第一点,你需要编辑参数文件来删除对丢失或者损坏的控制文件的参考。
这样很好,但是你的数据库现在就要运行就会少了一部分多路拷贝,这有可能会违反你的安全条款。一个更好的选择就是用幸存下来的拷贝来替换损坏的文件,或者真的去更改CONTROL_FILES初始化参数来删掉对那些被损坏的文件的参考,重新参考一些新的文件,然后拷贝那些幸存的控制文件到那里去。
1