Please see my other blog for Oracle EBusiness Suite Posts - EBMentors

Search This Blog

Note: All the posts are based on practical approach avoiding lengthy theory. All have been tested on some development servers. Please don’t test any post on production servers until you are sure.

Saturday, February 23, 2013

ORA-00245 control file backup failed


Environment: Two node Oracle RAC 11gR2 on Windows 2008R2

Symptoms

RMAN backups report errors like :

ORA-00245: control file backup operation failed


Cause

Incorrect specification for the Snapshot Controlfile
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 nonshared location. 

Solution

Incase of a RAC environment, than the Snapshot Controlfile needs to be stored on a shared location among the nodes in the RAC.
You can check the existing location for the snapshot controlfile using :


Check the snapshot controlfile location:
RMAN> show snapshot controlfile name;

CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\APP\INAM\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFHOMEDB1.ORA'; # default


This directory might exist on all the related RAC-nodes, but are not necessary shared.Depending on the configuration, the snapshot controlfile might be created on 'Node 1', but is than read on 'Node 2' as that related channel is making a backup of the controlfile.

Therefore the Snapshot Controlfile location needs to on a shared location between the nodes.


Configure the snapshot controlfile to a shared disk:
RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/snapcf_.f';

Example :

RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+DBFLASH/snapcf_homedb.f';




Ref: 1472171.1,1365484.1

No comments: