Controlfile Multiplexing in Oracle Database

Controlfile multiplexing means to create copy of multiple controlfiles. Today we will learn its importance and how to do Controlfile multiplexing in Oracle database. As a DBA, we may face lots of issues like controlfile corruption or due to storage or File system failure etc. That is why we need controlfile multiplexing and it is always recommended to store them in different locations.

Steps to do Controlfile Multiplexing :

  1. Check the database role and which file it is running (pfile or spfile):
sho parameter spfile;
select name,open_mode,database_role from v$database;
Controlfile Multiplexing in Oracle Database

2. Check Controlfile before Multiplexing :

select NAME from v$controlfile;
Controlfile Multiplexing in Oracle Database

3. Copy controlfile to other location and make it as different name :

Syntax : cp -p /Location_of_any_controlfile_/controlfile_name /location_of_new_controlfile/Controlfile_name
Example : cp -p /u01/app/oracle/oradata/ORCLCDB/control01.ctl /u01/app/oracle/ctrl/control04.ctl
Controlfile Multiplexing in Oracle Database

4. Create pfile from spfile and then edit in pfile :

Syntax : create pfile='ORACLEHOME_location/dbs/init_db_name.ora';
Example : create pfile='/u01/app/oracle/product/version/db_1/dbs/init_db_name.ora';
Controlfile Multiplexing in Oracle Database
Controlfile Multiplexing in Oracle Database

5. Save the init file and startup the database with pfile and check :

Syntax : startup pfile='ORACLE_HOME/dbs/init_db_name.ora';
Example : startup pfile='/u01/app/oracle/product/version/db_1/dbs/init_db_name.ora';
Controlfile Multiplexing in Oracle Database

6. To reflect in spfile, bounce the database once again and check :

shut immediate ;
startup;
Controlfile Multiplexing in Oracle Database
select name from v$controlfile;
sho parameter control;
Controlfile Multiplexing in Oracle Database

So here are the steps for doing controlfile Multiplexing. Hope it helps !!

Leave a Reply