新人正在学习Oracle的备份策略……公司使用的数据库不在归档模式下,我通常都使用定时导出用户对象+exp dmp文件的方式来做备份(是不是很落后=  =);最近想在自己的测试环境上做一个正规的备份策略出来(毕竟公司总不至于一直不开归档吧),学了RMAN后,产生了一个疑惑,在这里提出来,希望各位大侠有空的时候能来指教两句orz。  RMAN备份依靠归档模式,但是归档模式始终开启的话,会消耗很多空间,所以归档日志一般都会设置有效期,比如七天,超过这个时间的归档日志定为过期,RMAN定时清除过期的归档日志文件,来限制归档日志文件不至于占用过大的空间;  问题来了:RMAN的恢复不应该是按照归档日志的序列来恢复的么?比如从arc1、arc2、...、arc7,假如现在arc1、arc2、arc3、arc4都过期并被删除了,那么也就是说之后恢复会按照arc5、arc6、arc7的顺序读取并恢复数据库;
  可是这么一来,arc1到arc4这些日志中的数据怎么办呢?虽然这里面的数据肯定早就被持久化到磁盘了,但万一磁盘坏了!这些过期的归档日志中的数据岂不是无法被恢复了?!
  
  希望各位大侠可以解惑!

解决方案 »

  1.   

    备份恢复策略是很复杂的。
    rman备份时并不是只做一个0级备份,根据策略情况,根据你想恢复最近多长时间的数据,
    可能保留了好几个0级备份和最近一段时间内的增量备份
    0级备份根据策略到时间会做一份新的,然后太老的已经不需要了,就可以删除了
      

  2.   

    完备的备份策略,正常恢复时使不会用到过期的归档日志的
    假如你的ARC1\ARC2\ARC3会因为过期而删除,肯定会有0级备份或增量备份来完成这一部分工作