Since RMAN will continue to use that file as it's snapshot copy, you must change the location/name that RMAN is using before it will allow you to delete the file.
该方案是Oracle MOS给出的,需要修改CONFIGURE SNAPSHOT CONTROLFILE NAME的位置,让rman不再使用现有的 controlfile copy,然后再删除该文件。具体的解决步骤如下:
1.登录rman命令行,登录命令为:rman target /
2.在rman命令行下,执行如下修改“SNAPSHOT CONTROLFILE NAME”配置的命令:
- CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'E:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCF_TEMP.ORA';
3.在操作系统上,手动删除告警的controlfile copy文件“E:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFORACLE10.ORA”(剪切走即可,建议不要直接删除);
4.在rman命令行下,执行“list copy of controlfile;”发现该文件在rman的备份信息中。继续执行“crosscheck copy of controlfile;”命令crosscheck检查 controlfile 的copy文件;
- RMAN> list copy of controlfile;
- RMAN> crosscheck copy of controlfile;
5.crosscheck完毕,可以在rman命令行下,执行“delete noprompt copy of controlfile ;”删除“E:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFORACLE10.ORA”备份信息。至此原本告警的无法删除的controlfile copy文件信息已经被清除。
- RMAN> delete noprompt copy of controlfile ;
6.在rman命令行下,还原第二步,执行“
SNAPSHOT CONTROLFILE NAME”配置的更改,恢复到默认。
- RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME clear;