How to multiplex Control Files in Oracle

Control File is crucial physical component of every Oracle database. Multiplexing Control Files to several different file systems decreases the probability of losing Control Files

  • 1-Find and identify your control files.
  • select status, name, is_recovery_dest_file from v$controlfile;
    STATUS  NAME                                                         IS_
    ------- ------------------------------------------------------------ ---
            /u01/oracle/oradata/RCAT/control01.ctl                       NO
            /u01/oracle/oradata/RCAT/control02.ctl                       NO
  • 2-Alter the control_files parameter, so that will represent the new control file locations.
  • SQL> alter system set control_files = '/u01/oracle/oradata/RCAT/control01.ctl','/u00/oracle/oradata/RCAT/control02.ctl' scope=spfile;
    
    System altered.
  • 3-Shutdown your database.
  • SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
  • 3-Move your controlfile to the new location.
  • mv /u01/oracle/oradata/RCAT/control02.ctl /u00/oracle/oradata/RCAT/control02.ctl
  • 4-Start up your database and check to see if the new location was stored.
  • SQL> startup;
    ORACLE instance started.
    
    Total System Global Area 1603411968 bytes
    Fixed Size                  2213776 bytes
    Variable Size            1006635120 bytes
    Database Buffers          587202560 bytes
    Redo Buffers                7360512 bytes
    Database mounted.
    Database opened.
    
    SQL> select name from v$controlfile;
    
    NAME
    --------------------------------------------------------------------------------
    /u01/oracle/oradata/RCAT/control01.ctl
    /u00/oracle/oradata/RCAT/control02.ctl