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

0    1146    4

Tags:

👉 本文共约1634个字,系统预计阅读时间或需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重命名的方式将控制文件中的名称修改为最新的数据文件名。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

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

您可能还喜欢...

发表回复