RMAN恢复中断后,再启动RMAN,会产出什么样的后果?

问题:RMAN恢复restore database中断后 ,再启动RMAN,会产出什么样的后果?

--==========================================================
答案

如果使用上次恢复使用的控制文件,应该会跳过已经恢复的数据文件。。。
但是第二次restore并不减少你所预期的时间~

比如
你全备份 1T 数据库 1000各数据文件。 单通道备份,1000个数据文件产生一个备份集~

你第一次restore ,restore到999个文件,就差一个文件,被你中断了。假如这次使用了999分钟
那么你第二次restore的时候,会自动跳过前999个数据文件,直接restore最后一个数据文件,但是会需要很长时间,而不是你期望了1分钟就能结束,因为就算你只恢复一个数据文件,rman也许要读取整个备份集~

--======================================================

问题原理于概念介绍:

RMAN备份是一种物理备份,不是对象级的逻辑备份,可以用RMAN来备份数据文件、控制文件、参数文件、归档日志文件。

 

逻辑备份是通过逻辑手段记录要备份的数据库对象的信息,是一种对象级备份的方案,因此逻辑备份的备份集的可移植性比较强,可以把数据库的逻辑备份恢复到不同版本不同平台的数据库上,也正是因为逻辑备份是对象级的备份,因此备份和恢复的效率比较低,对于大型的系统,采用逻辑备份,其恢复时间之长是大多数大型业务系统所不能忍受的。 相对而言,物理备份不具备移植性,备份环境和恢复环境必须是完全相同的,由于物理备份是对数据库的文件(Block)进行备份,其备份和恢复速度相对比较快,在大型业务系统中较多地使用物理备份。总之,逻辑备份效率低可以跨平台,物理备份效率高不能跨平台

注意: RMAN backup可以实现仅备份有数据的block从而提高备份效率。 热备份及RMAN备份是OS Block为单位拷贝。

RMAN备份与常用物理Standby备份(热备份)区别
1.用户管理备份与恢复原理
alter tablespace users begin backup 的时候是锁定了users表空间对应的数据文件头的change scn.首先考虑一下数据库怎么用日志文件做恢复: 查找不一致的数据文件(根据文件头中旧的scn)如果锁定了文件头,这个文件头中的scn就不会改变(当然了, 数据块还是会变化的,还可以做读写)。 然后就会应用这个scn到现在的日志。那我锁定了scn,不管你后边怎么修改,总之做恢复的时候是应用锁定的时候的scn一直到现在的日志(完全恢复的话).
select tablespace_name,checkpoint_change#,checkpoint_count,name from v$datafile_header;
alter system checkpoint;
热备份归档增加的原因:  热备份的时候redo log会增长较快,归档较平时增多,是由于在begin backup之后,如果正在备份(也就是OS命令拷贝cp)的数据块恰好又在被用户修改(因为是热备份,用户可以操作),那么可能会产生split block的情况(split block被oracle认为是corrupt block),也就是说,一个Oracle Block可能包含多个OS Block, OS Level的拷贝可能正拷贝的是一个Oracle Block的一部分(比如Header),而另一部分(比如尾端)被用户更新,发生变化,这样导致一个Oracle Block内部的不一致(不是consistent version),可能出现一个数据块包含了几个不同版本的操作系统块,被称为Split Block(注意,这里split block是Oracle Block不是OS Block,是因为一个Oracle Block中不同版本的OS Block才导致产生Split Oracle Block的)。Oracle处理Split block的方法是将整个当前Oracle split block(变更后的)写入online redo log中,恢复的时候如果发现datafile中某个Oracle Block中有不同版本(的OS Block),就从redo把这个变更后的镜像拷贝回来,在这个版本一致的镜像上开始恢复。 不是像原来那样只写入更新部分到redo log,所以热备期间redo log会激增 。
RMAN备份处理split block与热备份不一样,它不存在这样的问题,是因为它在执行备份每个数据块的时候会判断这个数据块是否是split的,如果是,它会重新读这个数据块直到得到一个consistent version。

 
RMAN结合 带库  的备份是OS拷贝无法比的,从备份的速度上而言可能有很大差异, RMAN可以多个进程进行备份和恢复,?9i可以进行block  recover,可以进行增量备份,10G中结合新增的日志更有效的进行增量备份和可以回退整个数据库。  RMAN的缺点就是复杂,不使用catalog数据库的话控制文件丢失问题比较严重,解决很麻烦。
 
注意:  9i, 10g RMAN备份机制不太一样。9i的rman增量备份实质上是将所有的db block做了一次遍历,比较scn号是否发生变化,然后重新备份更新的OS块直到得到一个一致版本的Oracle Block;10g是做了一个scn变化表,增量备份的时候直接从改变读取变化的块 。
 

 

--=====================================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值