How do I…Multiplex control files?

Problem

I used Oracle Instance Manager to create a new instance, but I did not mirror, or multiplex, the control file so that it simultaneously resides on two or more disks. This will help protect the control file from a single disk failure. How do I change my Oracle configuration so that Oracle will maintain two copies of the control file on more than one disk?

Technique

Shut down the database, use operating system commands to make a copy of the existing control file, and modify the parameter initialization file so that it specifies two or more control files in the CONTROL_FILES parameter.

Steps

1. Use Server Manager or Enterprise Manager to shut down the database.

2. Use operating system utilities such as the Windows NT Explorer, the UNIX cp command, or the OpenVMS copy command to copy the single control file to another location, preferably on a different disk.

3. Modify the parameter file, usually called INITSID.ORA, so that the parameter CONTROL_FILES reflects the locations of all the control files you want Oracle to maintain.

control_files = C:\ORANT\DATABASE\ctl1o8ht.ora, D:\ORANT\DATABASE\ctl2o8ht.ora

4. Start, mount, and open the database using server or the Oracle Instance Manager module in Enterprise Manager. An ORA-00205 error at this point indicates that the control_files parameter in the parameter file is incorrectly specified and Oracle cannot find one or more of the control files.

How It Works

Oracle will automatically maintain as many copies of the control file as the DBA lists in the control_files parameter of the parameter file.

Comments

It is easier to specify multiplexed control files during instance creation by specifying all the control file locations in the parameter initialization file. This way, when the NT Instance Manager creates the instance, the control file will be multiplexed from its inception.