RMAN-20201: datafile not found in the recovery catalog

oracle恢复报错如下:

Recovery Manager: Release 10.2.0.4.0 - Production on Fri Aug 28 14:31:31 2015
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
RMAN>
RMAN>
connected to target database: EAS (DBID=1638119992, not open)
using target database control file instead of recovery catalog
RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16> 17> 18> 19> 20> 21> 22> 23> 24> 25> 26> 27>
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of set command at 08/28/2015 14:31:32
RMAN-20201: datafile not found in the recovery catalog
RMAN-06010: error while looking up datafile: /oradata/oradata/eas/EAS_D_CNFANTASIA_STANDARD03
RMAN>
Recovery Manager complete.

1. 此文件对应file#为12,list backup of datafile 12可以看到备份信息。
2. 将其文件进行异机同目录恢复没有问题

3. 将恢复脚本由

SET NEWNAME FOR DATAFILE '/oradata/oradata/eas/EAS_D_CNFANTASIA_STANDARD03' to '/orcl/ordata/EAS_D_CNFANTASIA_STANDARD03' 

改为

SET NEWNAME FOR DATAFILE 12 to '/orcl/ordata/EAS_D_CNFANTASIA_STANDARD03'

恢复正常。

感觉是oracle bug.

原文地址:https://www.cnblogs.com/tmao/p/4766883.html