RMAN-03023: executing command: SET DBID RMAN> 2> 3> 4> 5> 6> 7> 8> 9> RMAN-08030: allocated channel: c1 RMAN-08500: channel c1: SID=10 device type=SBT_TAPE RMAN-08526: channel c1: DBackup3 Oracle MMS Library RMAN-03023: executing command: SET COMMAND ID RMAN-03090: Starting restore at 2020-07-23 16:12:28 RMAN-08021: channel c1: restoring control file RMAN-08180: channel c1: restore complete, elapsed time: 00:00:01 RMAN-08505: output file name=/data/oradata/amlprod/control01.ctl RMAN-08505: output file name=/data/fast_recovery_area/amlprod/control02.ctl RMAN-03091: Finished restore at 2020-07-23 16:12:29 RMAN-08031: released channel: c1 RMAN> RMAN> RMAN-08066: database reset to incarnation 4 RMAN> RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> RMAN-08030: allocated channel: c1 RMAN-08500: channel c1: SID=10 device type=SBT_TAPE RMAN-08526: channel c1: DBackup3 Oracle MMS Library RMAN-03023: executing command: SET COMMAND ID RMAN-03023: executing command: SET until clause RMAN-03090: Starting restore at 2020-07-23 16:12:39 RMAN-03090: Starting implicit crosscheck backup at 2020-07-23 16:12:39 RMAN-03091: Finished implicit crosscheck backup at 2020-07-23 16:12:40 RMAN-03090: Starting implicit crosscheck copy at 2020-07-23 16:12:40 RMAN-08031: released channel: c1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of restore command at 07/23/2020 16:12:40 RMAN-06091: no channel allocated for maintenance (of an appropriate type)
从进度提示看implicit crosscheck backup成功，implicit crosscheck copy 失败。
The implicit crosscheck and cataloging are only seen when using the fast recovery area. When using a restored controlfile to restore the database, we need to ensure that the controlfile metadata is still correct. So RMAN automatically crosschecks all backups and catalogs the flash recovery area. This is a one-time operation. So the first time a restore of any datafile is initiated, we will crosscheck and catalog the backup pieces. Subsequent restores from the same controlfile will not kick off the crosscheck and catalog operation.
根据metalink的文档， Document 2428682.1 ， 这个可能是个bug：
After applying July (DBPSU/BP/RU) patch on 18.104.22.168,22.214.171.124,12.2,or 18.2 RMAN script fails with RMAN-06091: NO CHANNEL ALLOCATED FOR MAINTENANCE (OF AN APPROPRIATE TYPE) This issue has been reported on 126.96.36.199,188.8.131.52,12.2, and 18.2. RMAN-08031: RMAN-00571: RMAN-00569: RMAN-00571: RMAN-03002: RMAN-06091: released channel:t1 =========================================================== =============== ERROR MESSAGE STACK FOLLOWS =============== =========================================================== failure of delete command at 07/24/2018 08:26:03 no channel allocated for maintenance (of an appropriate type) CAUSE Issue is reported in Bug 28391990, which has been superseded by the fix of unpublished Bug 28432129: Bug 28432129: RMAN-06091: no channel allocated for maintenance (of an appropriate type) after installing July 2018 (DBPSU/BP/RU) (Note 28432129.8) Fixed Version : 19.1 SOLUTION Check for an available patch within the 'Patches and Updates' area. Search for 28432129 as your Patch Name/Number and select your platform. Download and apply the appropriate patch for your version. If a patch does not exist, log an SR requesting one. If you cannot apply the patch, you can work around this issue by explicitly allocating the channel needed by the maintenance command.
打补丁比较麻烦，而且不确定100%的能解决问题，文档建议是显式地分配一个maintenance channel。但这个办法在我们这里不好用，取消recovery area，不让implicit crosscheck 可能是个解决方案:
alter system set db_recovery_file_dest=’’ scope=both;