How to Multiplex Control Files in Oracle

As a DBA, you know that control files play a very important role in oracle database.

If the control files are corrupt, can you start your database?

No, you can’t do it. So what should be done to avoid such type of corruption?

As a DBA, it’s your responsibility to multiplex control files to protect your organization in case of possible data loss due to media failure or control file corruption.

multiplex control file

Follow below steps to multiplex control file.

First backup your control file with a trace option. You can use following command to backup of your control file with the TRACE option.

ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

Step-1: Connect to a database

Let’s connect to SQL*Plus as the system/manager@yourdb user.

SQL> CONNECT system/manager@testdb AS SYSDBA

Step-2: List all the controlfiles

Query V$CONTROLFILE view to list all the control files in the database.

SQL> Select * from v$controlfile;

STATUS  NAME                                        
------- --------------------------------------------
        C:\ORACLE\ORADATA\TESTDB\CONTROL01.CTL 
        C:\ORACLE\ORADATA\TESTDB\CONTROL02.CTL 
        C:\ORACLE\ORADATA\TESTDB\CONTROL03.CTL 

SQL>

Step-3 Shutdown the database

SQL> SHUTDOWN IMMEDIATE

Step-4: Add one more controlfile

Copy a controlfile and name it CONTROL04.CTL.
In real practice, Make sure to copy the controlfile into a different hard disk. So, in the case of hard disk failure other controlfile be secure.

SQL> HOST COPY C:\ORACLE\ORADATA\TESTDB\CONTROL03.CTL E:\Multiplexing_Control_Files\CONTROL04.CTL

Step-5: Edit init.ora file and add new file path

Open init.ora file from admin folder and add CONTROL04.CTL path to the location.

Step-6: Create SPFILE using PFILE

SQL> CREATE SPFILE='C:\oracle\..........\SPFILETESTDB.ORA' FROM PFILE='C:\oracle\admin\TESTDB\pfile\init.ora.7282007113213';

File created.

SQL>

Step-7: START the database

SQL> STARTUP;
ORACLE instance started.

Total System Global Area  135338868 bytes  
Fixed Size                   453492 bytes  
Variable Size             109051904 bytes  
Database Buffers           25165824 bytes  
Redo Buffers                 667648 bytes  
Database mounted.
Database opened.
SQL>

Step-8: Check controlfile using show parameter command

SQL> SHOW PARAMETER CONTROL_FILES;

NAME                                 TYPE        VALUE               
------------------------------------ ----------- ------------------------------ 
control_files                        string      C:\oracle\oradata\TESTDB\CONTRO 
                                                 L01.CTL, C:\oracle\oradata\JVV 
                                                 NL\CONTROL02.CTL, C:\oracle\or 
                                                 adata\TESTDB\CONTROL03.CTL, D:\ 
                                                 Multiplexing_Control_Files\CON 
                                                 TROL04.CTL
SQL>

How to Multiplex Redo Log Files in Oracle

There are many other methods to multiplex control file.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top
Scroll to Top