Snapshot controlfile feature with RMAN and ORA-00245

Last updated on March 2nd, 2019 at 05:51 am

What is Snapshot Control file in Oracle?

When RMAN needs to re-synchronize from a read-consistent version of the control file, it creates a temporary snapshot control file. RMAN needs a snapshot control file only when re-synchronizing with the recovery catalog or when making a backup of the current control file.

If you are not using recovery catalog in the your environment ,you will not see the snapshot control file  unless you make a backup of current control file

Location for Snapshot Control file

The default value for the snapshot control file is platform-specific and depends on the Oracle home.

For example, the default filename on some UNIX platforms in Oracle Database 10g is

$ORACLE_HOME/dbs/snapcf_@.f

Note that if you have a flash recovery area configured, the default location for the snapshot control file is not the flash recovery area.

As of Oracle 11.2 (11.2.0.2 to more precise) the snapshot control file must be on a location shared by all RAC nodes in a cluster (it must be accessible by all nodes on which instances for an RAC database can run). If you do not do so, you most likely will receive an ORA-00245 (ORA-00245: control file backup operation failed) when running an RMAN backup.

For Oracle RAC with ASM , this can be placed on ASM diskgroup

$rman target /

RMAN> SHOW SNAPSHOT CONTROLFILE NAME;
RMAN>CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/dbs/snapcf_test.f'; # default

For Oracle Real Application Clusters with ASM

$rman target /
RMAN>CONFIGURE SNAPSHOT CONTROLFILE NAME TO '<shared snapshot control file>';

RMAN>CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+RECO/TEST/CONTROLFILE/snapcf_test.f';

ORA-00245: control file backup failed; target is likely on a local file system

In case of Oracle RAC environment , if the snapshot control is not set to shared location or ASM disk, following errors happens

1. if Autobackup of controlfile is enabled, RMAN is failing with error:
RMAN-571: ===========================================================
RMAN-569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-571: ===========================================================
RMAN-3009: failure of Control File and SPFILE Autobackup command on
ORA_DISK_1 channel at 10/27/2018 12:13:31
ORA-245: control file backup operation failed


2. Taking control file backup using backup controlfile command
SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/path/control.bk' REUSE
*
ERROR at line 1:
ORA-245: control file backup operation failed

Resolution

RMAN> SHOW SNAPSHOT CONTROLFILE NAME;

RMAN>CONFIGURE SNAPSHOT CONTROLFILE NAME TO '<shared snapshot control file>';

RMAN>CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+RECO/TEST/CONTROLFILE/snapcf_test.f';

Restoration from Snapshot controlfile

You can Restore using snapshot controlfile also

restore controlfile from '/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_test.f';

I hope you like this post on snapshot controlfile and ORA-00245

Please do provide the feedback

Leave a Reply