执行试验恢复
当像stuck恢复这样的问题发生的时候,你很难做出抉择。
如果块相对不是很重要并且问题是独立的,则损坏块是比较好的。
但如果问题不是独立的,则使用RESETLOGS选项打开数据库是比较好的。
因为这种情况,Oracle数据库支持试验恢复。
试验恢复与正常的介质恢复一样应用redo信息,但不会将改变写到磁盘。它总是回滚它的改变。试验恢复只是发生在内存中。
试验恢复如何起作用
默认,如果试验恢复遇到stuck恢复或相似的问题,则它总是标记数据块为损坏,当这个操作可以允许恢复继续执行的时候。
数据库会把在试验恢复中产生的错误消息写到预警文件中。这些错误被清楚地标记为测试运行错误。
与正常的介质恢复一样,试验恢复可以提示你归档日志文件名并且询问是否应用它们。当下列情况出现时,试验恢复结束:
n 数据库运行超出了试验恢复被允许的内存的最大数量。
n 有不可恢复的错误被标记,即不能通过损坏数据块来解决的错误
n 你取消或中断了恢复会话
n 在redo流中下一个redo记录改变了控制文件
n 所有请求的redo都被应用了
当试验恢复结束时,数据库会从系统移除测试运行的所有影响,除了预警日志文件中的可能的错误消息。
如果在试验恢复的过程中实例失败,则数据库会从系统移除试验恢复的所有影响,因为试验恢复从来不把变化写到磁盘。
如果你打算继续正常的恢复,实验恢复可以使你预见有可能发生的问题。
对于由于不间断的内存损坏而引起的问题,试验恢复和正常恢复可能遇到不同的错误。来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1101395/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1101395/