oracle中的完全恢复和不完全恢复有什么区别?如何确定可以采用哪种恢复方式?
完全恢复和不完全恢复,是否都可以采用RMAN的方式来完成?是不是:在数据库处于MOUNT状态下进行了rman备份,则将来进行的恢复就是完全恢复?
        在数据库处于OPEN状态下进行了rman备份,则将来进行的恢复就是不完全恢复?非常谢谢大家啊。

解决方案 »

  1.   

    http://www.itpub.net/thread-1028213-1-1.html完全恢复:利用重做日志或增量备份将数据块恢复到最接近当前时间的时间点。之所以叫做完整恢复是由于Oracle应用了归档日志和联机重做日志中所有的修改
    不完全恢复:利用备份产生一个非当前版本的数据库。换句话说,恢复过程中不会应用备份产生后生成的所有的重做日志。通常在下列情况下生成整个数据库的不完整恢复
                     介质失败损坏了几个或全部的联机重做日志文件;
                用户操作造成的数据丢失,比如,用户误删除了一张表;
                 由于个别归档日志文件的丢失无法进行完整的恢复;
                 丢失了当前的控制文件,必须使用备份的控制文件打开数据库。
                  为了执行不完整介质恢复,必须使用恢复时间点以前的备份来还原数据文件,并在恢复完成后使用RESETLOG选项打开数据库。
    关于备份策略的问题,可以参考piner的一篇文章。
    参考建议:多理解哈备份恢复的原理。8i备份与恢复培训教程还不错,在就是oracle10gRMAN备份与恢复,很好的2本书
      

  2.   

    oracle中的完全恢复和不完全恢复有什么区别?
      一楼已回答了。如何确定可以采用哪种恢复方式? 
      在备份完好情况下,可根据业务要求进行相应选择。如果丢失部分归档日志或联机日志,那么很有可能只能做不完全恢复。完全恢复和不完全恢复,是否都可以采用RMAN的方式来完成? 
       都可以。在数据库处于MOUNT状态下进行了rman备份,则将来进行的恢复就是完全恢复?
       错。在数据库处于OPEN状态下进行了rman备份,则将来进行的恢复就是不完全恢复? 
       错。
      

  3.   

    如何确定可以采用哪种恢复方式? 
      在备份完好情况下,可根据业务要求进行相应选择。如果丢失部分归档日志或联机日志,那么很有可能只能做不完全恢复。谢谢大家啊,但是我觉得完全恢复和不完全恢复,都可以采用RMAN的方式来完成,都是使用restore database;和recovery database 以及open database resetlogs的语句,那怎么才能表明它们二者之间的差别呢? 
      

  4.   

    不完全恢复语法,
    用sqlplus的话是recover database until xxxxxx
    用rman的话,先要个set until xxx 语句,再recover database;