RMAN备份,出现介质无法恢复的情况

具体模拟的场景在我的一个话题中有说明,这里不再重复赘述
http://www.itpub.net/forum.php?mod=viewthread&tid=1875355&page=1#pid22452713
在冷备份以后,进入RMAN环境下,先将移走的文件从备份机中恢复回原位置,如图片restore database所示
接着进行的是recover database,结果意外出现了,无法进行介质恢复。

原因redo文件和当前的数据块不一致。因为数据库冷备的时候是默认不备份redo文件的。这就提醒了以后一定启动归档日志模式。
最简单的方法就是从其他地方拷贝一份redo文件回来。这种方法不做最太多讲述,还有几个最为常用的方法。
http://wenku.baidu.com/link?url=SA8HeccE_BKBc4CnjrafOITeHjy-ft2_wA_KQmOIUbs7hWyhI1vGCNa-5sy4U8L3sGbcuzzkW4cpdCoLHSg1F6T32uv3gIU3f7DsLeeIlcW
ok,把redo文件拷回来以后这回总算可以打开数据库了吧。结果意外又出现了。restore database以后出现了
RMAN> alter database open  RESETLOGS;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: alter db 命令 (在 01/27/2013 20:03:40 上) 失败
ORA-01152: 文件 1 没有从过旧的备份中还原
ORA-01110: 数据文件 1: 'E:\APP\XS\ORADATA\JSCE\SYSTEM01.DBF'
找了很多资料,最令我相信的还是这篇文章的说法:
解决:
数据文件头部start scn比控制文件记录的数据库文件头部SCN要新,那么就要使用日志(包括归档日志+联机重做日志)前推控制文件的记录的数据库头部SCN与数据文件start scn一致,就能保证打开数据库。
因为是使用备份的控制文件恢复数据库,那么就必须alter database open resetlogs打开数据库
恢复如下步骤:
         a.restore controlfile from '/u01/app/oradata/ctl.ctl' from '/bak/xxxx.bak';
         b.alter database mount;
         c.recover database using backup controlfile until cancel;
          注意:这一步,因为备份的控制文件没有记录联机重做日志文件的scn,这里需要手动输入redo文件来取消恢复.
       这个时候就不是rman恢复了,只要在sql下,recover database using backup controfile until cancel,然后应用你的那些归档日志就可以了。
很简单。
          d .alter database open resetlogs;


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

转载于:http://blog.itpub.net/29660117/viewspace-1201302/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值