版本

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE    11.2.0.3.0      Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

数据库在rman备份的时候出现如下错误:

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================

RMAN-03009: failure of backup command on ch1 channel at 04/19/2013 18:04:39
ORA-00245: control file backup failed; target is likely on a local file system

 

错误原因

快照控制文件必须要被所有节点访问,如果快照控制不是放在共享设备上,那么在RMAN 进行控制文件的快照备份时就会报错。

具体原文:

From 11gR2 onwards, the controlfile backup happens without holding the controlfile enqueue. For non-RAC database,
 this doesn't change anything. But for RAC database, due to the changes made to the controlfile backup mechanism in 
11gR2, any instance in the cluster may write to the snapshot controlfile. Due to this snapshot controlfile need to 
be visible to all instances. 


The snapshot controlfile MUST be accessible by all nodes of a RAC database, if the snapshot controlfile does not 
reside on a shared device error will be raised at the time of RMAN backup while taking snapshot of controlfile. 

This applies to backing up controlfile using sqlplus / having autobackup of controlfile configured on non shared location.

解决方法:

1. Check the snapshot controlfile location:

RMAN> show snapshot controlfile name;

2. Configure the snapshot controlfile to a shared disk:

RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '<shared_disk>/snapcf_<DBNAME>.f';

Or in case of ASM use

RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+<DiskGroup>/snapcf_<DBNAME>.f';

 

参考:In RAC environment from 11.2 onwards Backup Or Snapshot controlfile needs to be in shared location [ID 1472171.1]