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;
Check db role and spfile 2

2. Check Controlfile before Multiplexing :

select NAME from v$controlfile;
Check controlfile before doing

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
Copy controlfile in diff location

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';
Create pfile from spfile 1
Edit in pfile

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';
Startup database with pfile and check controlfile

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

shut immediate ;
startup;
Startup with spfile
select name from v$controlfile;
sho parameter control;
Check controlfile after starting with spfile

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

Leave a Reply