ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 对rman备份恢复的一点理解

对rman备份恢复的一点理解

原创 Linux操作系统 作者:mhaoy 时间:2009-05-13 15:51:34 0 删除 编辑

自己对rman备份恢复的一点理解,欢迎讨论

长久以来困扰我的一个问题:

rman备份顺序:

a>  全备数据库;
b>  自动备份controlfile;
c>  crosscheck archivelog all;
d>  alter system archive log current;
e>  backup archive log all delete all input;
f>   自动备份controlfile;

恢复时如果使用b>备份出来的controlfile,则数据库可以还原成功,但recover database失败;也就是说无法恢复到数据文件与控制文件的一致状态;

如果使用 f>备份出来的controlfile,则recover database后可以用resetlogs打开,也就是说recover后可以达成数据文件与控制文件中scn号的一致,只不过需要instance recovery

实际上必须做的:
在使用backup database对数据库进行全备后必须做一次成功的archivelog备份,才能保证不完全恢复的成功。

问题: 为什么?

想了好久未果。论坛上提出,也没有应答。

突然猜想的原因:
a>全备成功后,各个数据文件中的SCN号可能不一致,也可能一致,假定为集合X;
之后备份的控制文件中的SCN号比X中最大的还要大;
这样恢复时需要介质恢复,需要将重做日志文件中的记录应用到数据文件中;
如果没有归档可用,自然无法恢复到文件的一致状态;

如果有归档文件,则此文件归档前一定发生过一次checkpoint,此文件中记载了从事数据库全备开始到到该CHECKPOINT之间的所有变化,只要将这个归档的重做日志文件应用到数据文件中,即可实现数据文件的一致状态。由于控制文件备份时,数据库是OPEN的,因此,End SCN是NULL ,所以接下来需要的是instance recovery . 只要数据文件一致性得到满足,即可使用resetlogs选项来打开数据库。

不知道这样理解对不对?

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15149581/viewspace-594984/,如需转载,请注明出处,否则将追究法律责任。

下一篇: RMAN学习笔记
请登录后发表评论 登录
全部评论

注册时间:2009-05-13

  • 博文量
    54
  • 访问量
    95150