rman在rac或ASM环境做增量恢复时报错RMAN-06094 datafile 1 must be restored

0    851    4

Tags:

👉 本文共约1630个字,系统预计阅读时间或需7分钟。

现象

rman先做了全量的resotore+recover操作,然后还原增量的控制文件,然后做增量的recover操作,结果报错了:

报错的意思:文件1必须被还原,文件1不存在。

分析

结果发现,“Size(MB)”列都是0。有点奇怪。

然后去asmcmd里查看是否存在文件:

结果发现,文件名不一样。

于是找之前的全量的restore过程,发现还原的文件名为:

第一次全量restore的时候,终端显示还原后的文件名为system.259.985609967,但是,其实asmcmd中的文件名已经发生了变化,这一点在我删除环境后,第二次做实验的时候得到了验证,另外,可以在告警日志中查询到恢复后的数据文件名

由于,第一次的全量后的归档丢失,所以,若要做恢复操作,必须恢复最新的控制文件,但是最新的控制文件里记录的文件名依然是源库的控制文件,所以就导致了报错“RMAN-06094: datafile 1 must be restored”。

解决

所以,解决方法就是,在做增量恢复操作,恢复最新的控制文件之前,执行report schema操作或“select file#,name from v$datafile;”记录最新的文件名,然后恢复最新的控制文件,再通过rename重命名的方式将控制文件中的名称修改为最新的数据文件名。

这个问题和单机还不太一样,单机的参考:https://www.xmmup.com/rmanquanliangzenglianghuifubaocuoora-01152-file-1-was-not-restored-from-a-sufficiently-old-backup.html

模拟过程

源端

目标端恢复

升级参考:https://www.xmmup.com/shiyongrmanbeifenhuifuqianyioracle-11-2-0-4daoxinjiqibingshiyongautoupgradezidongshengjidao12-2-0-1ban.html

https://www.xmmup.com/shougongqianyishujukuoracle-11-2-0-4daoxinjiqibingshengjidao12-2-0-1banben.html

相关文章

之前一直在itpub上发表的,后来被官方删的差不多了,保留的文章的图片也看不见了,只能在其它平台找同步的文章了,这也是我下定决心自己搭建博客平台的一个很大原因:

总结

1、做任何的restore和recover操作之前,或者只要还原了控制文件后,需要查看控制文件中记录的备份信息是否正确,若很杂乱,那么需要删除控制文件中记录的备份信息后,然后再做恢复操作,清除方法如下:

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

2、确保做自己做的全量+增量备份之间,没有其它人或启动定时任务或NBU自动做的全量备份或增量备份。这点很重要,否则最后肯定不能恢复。切记切记!!!

3、做增量恢复之前,先执行report schema操作,获取最新的文件名!若万一忘记执行report schema操作,那么最新的文件名还可以通过告警日志文件来获取,不过需要自己来编辑:more alert_mis.log | grep datafile,获取结果后,通过列编辑或Excel等来快速编辑。

4、此类问题通过重建控制文件并不能解决,通过BBED等特殊手段,客户是不认的!!!

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部