Oracle recovery makes inconsistent backups consistent by reading all archived and
online redo logs, starting with the earliest SCN in any of the datafile headers, and
applying the changes from the logs back into the datafiles.这是oracle官方文档上的一句话, 我有一个疑问
如果datafile1的scn号为91,datafile2的scn号为99, 而数据库最新的scn号为110.
按上上面那段话,进行恢复时会把scn为91-110的日志全部应用到数据文件上.
可是如果这样的话datafile2上scn号为91-99的内容岂不是重复操作两次? oracle有何机制避免这一问题呢?顺便问一下,restore是个怎么样的动作?
把以前坏的datafile删掉,用backup去替换.
还是依照backup去修复坏的datafile?请高手指点一二~

解决方案 »

  1.   

    1.RESTORE是从备份中提取数据文件还原到相应的位置
    2.不存在重复操作的问题,oracle会针对每个文件,看从那个SCN开始恢复,需要应用那些日志!
    (datafile1的scn号为91,datafile2的scn号为99,那么datafile1从SCN=91开始恢复,Datafile2从SCN=99开始恢复
    ,恢复两个数据文件,应用的日志多少不一样!
    )仅代表个人观点!!!
      

  2.   

    谢谢你的回答
    1,照你说的那样restore是从备份中提取数据文件恢还原到相应位置,那么,以前在相应位置的那个损坏的数据文件怎样处理?
    2,starting with the earliest SCN in any of the datafile headers
    呵呵 看来我对这句话理解有些偏差
      

  3.   

    1,照你说的那样restore是从备份中提取数据文件恢还原到相应位置,那么,以前在相应位置的那个损坏的数据文件怎样处理?
    ===============================================================
    restore就是一个操作系统的复制粘贴命令。就是用以前的备份文件来覆盖替换当前损坏文件,
    所以“以前在相应位置的那个损坏的数据文件”就被覆盖掉,没了。2.就是2楼很清楚的回答了。
      

  4.   

    可是如果这样的话datafile2上scn号为91-99的内容岂不是重复操作两次?
    ==========================================================
    怎么可能呢?scn 不是按文件分配的,一个 scn 只能出现一次,不会每个文件出现一次。
      

  5.   

    可是如果这样的话datafile2上scn号为91-99的内容岂不是重复操作两次?
    ==========================================================
    怎么可能呢?scn 不是按文件分配的,一个 scn 只能出现一次,不会每个文件出现一次。
      

  6.   

    可是如果这样的话datafile2上scn号为91-99的内容岂不是重复操作两次?
    ==========================================================
    怎么可能呢?scn 不是按文件分配的,一个 scn 只能出现一次,不会每个文件出现一次。
      

  7.   

    谢谢大家的回答starting with the earliest SCN in any of the datafile headers 这句话里的earliest让我很迷惑,我翻译后觉得是这样的:datafile1的scn为91,datafile2的scn为99,datafile3的scn为200,
    那么既然是earliest,我就觉得是把scn为91之后的日志全部应用到这三个datafile上。一个datafile的headers里有一个scn?或是多个?
      

  8.   

    starting with the earliest SCN in any of the datafile headers 这句话里的earliest让我很迷惑,我翻译后觉得是这样的:datafile1的scn为91,datafile2的scn为99,datafile3的scn为200, 
    那么既然是earliest,我就觉得是把scn为91之后的日志全部应用到这三个datafile上。 学习!!