What Is The Snapshot Control File
What Is The Snapshot Control File
You may have noticed when reviewing the RMAN configuration parameters that
there is the option to rename the snapshot controlfile. The snapshot controlfile is
a copy of the controlfile that RMAN utilizes during long-running operations (such
as backup). RMAN needs a read-consistent view of the controlfile for the backup
operation, but by its nature the controlfile is extremely volatile. Instead of putting
a lock on the controlfile and causing all kinds of database enqueue problems,
RMAN makes a copy of the cfile called the snapshot controlfile, and uses it
instead of the actual controlfile. The snapshot is refreshed at the beginning of
every backup. You can relocate the snapshot if it makes sense in your
environment (such as making it accessible to all nodes in a RAC cluster), but for
the most part it does no harm to leave it in the $ORACLE_HOME/dbs directory.
When RMAN needs to resynchronize the recovery catalog with a read-consistent version
of the control file, it creates a temporary snapshot control file. RMAN needs a snapshot
control file when resynchronizing with the recovery catalog or when making a backup of
the current control file.
The default location for the snapshot control file is platform-specific and depends on the
Oracle home of each target database. For example, the default filename on some Linux
platforms is $ORACLE_HOME/dbs/[email protected]. If a flash recovery area is configured for a
target database, then the default location for the snapshot control file is not the flash
recovery area.
You can see the current snapshot location by running the SHOW command. This example
shows a snapshot location that is determined by the default rule:
You can also set the snapshot control file name to a raw device.