RMAN requires a read-consistent view of the control file for the following tasks:
- Synchronizing with the recovery catalog
- Backing up the current control file
RMAN creates a snapshot copy of the current control file that it uses as a read-consistent copy while it’s performing these tasks. This ensures that RMAN is working from a copy of the control file that isn’t being modified.
The default location of the snapshot control file is OS specific. On Linux platforms the default location/format is ORACLE_HOME/dbs/snapcf_@.f. Note that the default location isn’t in the FRA (even if you’ve implemented an FRA).
You can display the current snapshot control file details, using the SHOW command:
RMAN> show snapshot controlfile name;
Here is some sample output:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO
'/ora01/app/oracle/product/12.1.0.1/db_1/dbs/snapcf_o12c.f'; # default
For most situations the default location and format of the snapshot control file are sufficient. This file doesn’t use much space or have any intensive I/O requirements. I recommend that you use the default setting.
If you have a good reason to configure the snapshot control file to a nondefault location, you can do so as follows:
RMAN> configure snapshot controlfile name to '/u01/O12C/rman/snapcf.ctl';
If you accidentally configure the snapshot control file location to a nonexistent directory, then when running a BACKUP or COPY command, the autobackup of the control file will fail, with this error:
ORA-01580: error creating control backup file...
You can set the snapshot control file back to the default, like this:
RMAN> configure snapshot controlfile name clear;