Copying a Multiplexed Control File to a Default Location
If the disk and file system containing the lost control file are intact, then you can simply copy one of the intact control files to the location of the missing control file. In this case, you do not have to alter the CONTROL_FILES initialization parameter setting.
To replace a damaged control file by copying a multiplexed control file:
If the instance is still running, then shut it down:
Use an intact multiplexed copy of the database's current control file to copy over the damaged control files. For example, to replace bad_cf.f with good_cf.f, you might enter:
% cp /oracle/good_cf.f /oracle/dbs/bad_cf.f
Start a new instance and mount and open the database. For example, enter:
Restore control file from backup control file
Restore control file from RMAN Backup
Oracle automatically backs up the control file when the DB is backed up. To restore, issue the following RMAN commands.
set dbid <your database id>; restore controlfile;
Manually re-create the control file
Issue the CREATE CONTROL FILE statement against the DB. Lookup the syntax in the SQL reference guide. Most of the info required to rebuild the control file should be in the alert.log.
STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "orcl" NORESETLOGS [archivelog/noarchivelog] MAXLOGFILES 5 MAXLOGMEMBERS 3 MAXDATAFILES 10 MAXINSTANCES 1 MAXLOGHISTORY 113 LOGFILE GROUP 1 'D:\ORACLE\ORADATA\ORCL\REDO01.LOG' SIZE 10M, GROUP 2 'D:\ORACLE\ORADATA\ORCL\REDO02.LOG' SIZE 10M, GROUP 3 'D:\ORACLE\ORADATA\ORCL\REDO03.LOG' SIZE 10M DATAFILE 'D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF' SIZE xxx, 'D:\ORACLE\ORADATA\ORCL\USERS01.DBF' SIZE xxx, ... CHARACTER SET [characater_set];