您现在的位置: 爱51代码网 >> 范文 >> 文章正文
Oracle恢复内部原理(介质恢复)

Oracle恢复内部原理(介质恢复)
什么时候做介质恢复
                由5.3节知道,数据文件如果是还原的备份,在打开前都要进行介质恢复,即使是应用联机日志就可以恢复的。另外一种情形就是数据文件异常脱机没有做检查点操作。不做介质恢复数据库是无法打开的,需要介质恢复的数据文件也不能联机。数据库没有被任何实例打开的时候,介质恢复只能在脱机的数据文件上恢复。即使有崩溃恢复的时候也要在打开数据库显示调用介质恢复命令。此时崩溃恢复可能没有什么做的但还是会自动运行。有时候介质恢复可能发现没有日志要应用,就会报错“不需要介质恢复”,即该文件不需要恢复。

                如果当前控制文件丢失了,将一个备份控制文件还原了,介质恢复就必须做了,这是所有数据文件都联机的时候还要介质恢复的一个例子。毕业论文 

 

 

6.2  线程合并重做程序
                介质恢复应用重做日志时用的是线程合并的重做算法。即它要同时应用所有线程的重做日志,按SCN递增的顺序合并重做日志。在还原的数据文件上应用介质恢复的过程跟在联机数据文件上应用崩溃恢复的过程的不同在于:崩溃恢复同一时刻只会应用来自一个线程的日志,因为同一时刻数据文件上的块只需要最多一个线程的重做日志(同一时刻只有一个实例可能修改该块)。在还原的备份上,则无法猜测跟该块有关的线程数目。通常介质恢复时需要同时读取所有线程的重做日志,然后按照SCN递增的顺序合并重做日志。注意这个算法依赖于数据块的变更各个线程都是按SCN递增的顺序记录的(并行服务器环境中)。

 

 

6.3  还原备份
                在数据库关闭或者数据文件脱机的情况下,可以将该数据文件的备份还原。注意绝不能在数据文件还在使用的情况下还原。每次都数据文件头时都会校验数据文件头部的检查点计数和数据文件在控制文件中的检查点计数以检测是否发生这种非法操作。

 

 

6.4  介质恢复命令
                介质恢复命令有三种:

 

RECOVER DATABASE

 

RECOVER TABLESPACE

 

RECOVER DATAFILE

 

                这三个命令的根本区别在于恢复的数据文件集合不同。三个命令都用同样的标准决定每个数据文件是否要做介质恢复。每个数据文件上都一个排它锁,介质恢复程序开始恢复前会先申请获得这个锁。如果得不到就触发一个错误。这可以防止两个恢复会话同时恢复同一个数据文件以及防止对一个在使用的数据文件进行介质恢复。

              

6.4.1  RECOVER DATABASE

                这个命令用来恢复所有联机数据文件。如果所有实例都正常关闭并且也没有数据文件被还原,这个命令会触发一个“no recovery required”的错误。当有实例已经打开了数据文件时这个命令也会报错因为该实例已经持有所有的锁。

 

 

6.4.2  RECOVER TABLESPACE

                这个命令用来恢复指定表空间上的所有数据文件。为了将表空间名转换成具体的数据文件名,数据库必须先打开。这意味着这个表空间及其所有数据文件在数据库打开前得先脱机才能进行介质恢复。如果该表空间的所有数据文件都不需要介质恢复时会触发一个错误说没有文件需要介质恢复。

 

6.4.3  RECOVER DATAFILE

                这个命令用来恢复指定的数据文件,无论数据库是否打开,只要能获得该数据文件上的介质恢复锁即可。当一个实例已经打开数据库的时候,则只能在脱机的数据文件上做介质恢复。

 

 

6.5  开始介质恢复
                介质恢复时开始查找介质恢复起始SCN。如所有要恢复的数据文件的文件头中最低的检查点SCN。注意:如果一个数据文件的检查点SCN落在它的脱机SCN 范围内(见2.18)则会引发一个异常。此时,该数据文件的脱机结束SCN将替代文件头检查点SCN参与计算介质恢复起始SCN。

  &

[1] [2] [3] [4] 下一页

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    sharepoint 2010 获取用户信息Us
    设计包含max函数的队列
    随机从数组中取出指定的不重复的
    mysql主从同步延迟方案解决的学习
    青岛科学六年级下册教材分析
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    保险受益人制度相关问题的探讨
    初中生地理读图能力培养的研究
    搞笑生日祝福
    在 Oracle 中如何确定远程 s
    为什么RHEL 6上没有ASMLIB?
    sharepoint 2010 获取用户信
    设计包含max函数的队列
    随机从数组中取出指定的不重
    C++奋斗小蜗牛在请客源代码
    java版坦克大战源代码
    hdu 1789 贪心算法源代码
    中间件基础知识
    OK6410 tftp下载内核、文件系
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |