- The database shuts down immediately if any of the control file copies becomes inaccessible and reports an error.
- Loss of some but not all copies of your control file does not require recovery of the control file from backup.
- Copy an intact copy of the control file over the damaged or missing control file, OR update the parameter file so that does not refer to the damaged or missing control file.
- Loss or corruption of all copies of your control file requires restore of the control file from backup.
After restoring the control files of your database from backup, you must perform complete media recovery of the database and then open your database with the RESETLOGS option
Restore the control file to its default location defined in the CONTROL_FILES initialization parameter.
RMAN> RESTORE CONTROLFILE
If you are not using a recovery catalog, you can add the from '' clause to the command to specify where the latest control file exists:
RMAN> RESTORE CONTROLFILE FROM '/U11/ORADATA/ORD/BKUP.CTL';
Restore Control File from Control File Autobackup
If you are not using a recovery catalog, you must restore your control file from an autobackup.
If you want to restore the control file from autobackup, the database must be in a NOMOUNT state.
You must first set the DBID for your database, and then use the RESTORE CONTROLFILE FROM AUTOBACKUP command:
To know database DBID see Oracle DBID
RMAN>SET DBID 320066378;
SET CONTROLFILE AUTOBACKUP FORMAT
FOR DEVICE TYPE DISK TO 'autobackup_format';
RESTORE CONTROLFILE FROM AUTOBACKUP;
To determine the correct value for autobackup_format, see the description of CONFIGURE CONTROLFILE AUTOBACKUP FORMAT.
Restore Control File from Flash Recovery Area
Restore Control File from Recovery Catalog
RMAN> TARGET rman/rman
RMAN> CATALOG catdb/catdb
RMAN> RESTORE CONTROLFILE;
The restored control file is written to all locations listed in the CONTROL_FILES initialization parameter.
Restore Control File From a Known Location
The control file copy found at the location specified by filename will be written to all locations listed in the CONTROL_FILES initialization parameter.
RMAN> RESTORE CONTROLFILE FROM 'filename';
Restore Control File to a New Location
There are two ways.
CONTROL_FILES initialization parameter
Edit CONTROL_FILES initialization parameter to new locations
RESTORE CONTROLFILE command with no arguments to restore the control file to the default locations
RESTORE CONTROLFILE TO 'new location'
RESTORE CONTROLFILE TO'/tmp/my_controlfile';
You can perform this operation with the database in NOMOUNT, MOUNT or OPEN states, because you are not overwriting any of the control files currently in use.