报错信息:
在目标库执行恢复的时候,遇到RMAN-06023的报错,提示在备份集中没有数据文件的备份或拷贝:
RMAN> restore database;
Starting restore at 13-NOV-14
using channel ORA_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 11/13/2014 16:26:01
RMAN-06026: some targets not found – aborting restore
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06023: no backup or copy of datafile 3 found to restore
RMAN-06023: no backup or copy of datafile 2 found to restore
RMAN-06023: no backup or copy of datafile 1 found to restore
但通过List查看发现是存在这些数据文件的备份的:
RMAN> list backup of datafile 1;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
——- —- — ———- ———– ———— —————
15 Full 1.52G DISK 00:00:00 13-NOV-14
BP Key: 15 Status: AVAILABLE Compressed: YES Tag: TAG20141113T152044
Piece Name: /home/oracle/bak/db_36pnh1md_1_1
List of Datafiles in backup set 15
File LV Type Ckp SCN Ckp Time Name
—- — —- ———- ——— —-
1 Full 47320452 13-NOV-14 /data/ZXD/datafile/system.256.858783103
RMAN>
分析:
如果参数中配置了FRA,并且这个FRA中存在属于其他化身的可用的文件(incarnation),那么当我们使用备份恢复出来的控制文件作为catalog并做Restore的时候,RMAN会执行一个隐式的crosscheck,并将这些文件加入到catalog,此时会将控制文件当前的化身修改为FRA下这些文件对应的化身,rman控制台会报下面的信息:
Starting restore at xxx
Starting implicit crosscheck backup at xxx
Finished implicit crosscheck backup at xxx
Starting implicit crosscheck copy at xxx
Finished implicit crosscheck copy at xxx
searching for all files in the recovery area
cataloging files…
cataloging done
List of Cataloged Files
=======================
File 1
File 2
… Etc
其实这个时候RMAN会去查找这个化身的备份文件集,如果找不到,则会报错RMAN-06023。
(PS:我们可以用这个命令去获得当前化身的可用备份集:LIST BACKUP RECOVERABLE;)
有两个解决方法:
1):
将FRA中的无关文件全部删除,再重新restore控制文件,并restore数据库。
2):
临时或者永久性的禁用FRA(db_recovery_file_dest=”),再重新restore控制文件,并restore数据库。
最终通过临时禁用FRA解决。
未经允许不得转载:SRE空间 » 记restore故障一例:RMAN-06026
评论前必须登录!
注册