We are going to have look on the steps which we use for Multiplex Controlfile In Oracle RAC. The control file is the most important file in Oracle database. These few lines explain about the technical definition of the control file.

A control file is a small binary file that is part of an Oracle database. The control file is used to keep track of the database’s status and physical structure. Every Oracle Database must have at least one control file. However, it is recommended to create more than one, up to a maximum of 8. Each copy of a control file should be stored on a different disk drive. One practice is to store a control file copy on every disk drive that stores members of online redo log groups if the online redo log is multiplexed. By storing control files in these locations, you minimize the risk that all control files will be lost in a single disk failure.

Oracle always recommends keeping the controlfile in multiple diskgroups.  For standalone database multiplexing controlfile is straightforward, But for RAC, we need to follow below steps.

1. Check the controlfile location:

SQL> show parameter control_file

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time       integer 7
control_files                       string       +DATA/PRDDB/CONTROLFILE/current.273.919525323

Currently, there is only one controlfile under +DATA diskgroup. We will multiplex them by to REDOA and REDOB diskgroup.

2. Modify the control_files parameters with diskgroup nam

SQL> alter system set control_files='+DATA/PRDDB/CONTROLFILE/current.273.919525323','+REDOA','+REDOB' scope=spfile;

System altered.

3. Start the database in the nomount stage:

srvctl stop database -d PRDDB
srvctl start database -d PRDDB -o nomount
RMAN> restore controlfile from '+DATA/PRDDB/CONTROLFILE/current.273.919525323';

Starting restore at 14-AUG-16
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=3061 instance=PRDDB1 device type=DISK

channel ORA_DISK_1: copied control file copy
output file name=+DATA/PRDDB/CONTROLFILE/current.273.919525323
output file name=+REDOA/PRDDB/CONTROLFILE/current.273.919881745
output file name=+REDOB/PRDDB/CONTROLFILE/current.258.919881745
Finished restore at 14-AUG-16

4. Check the control_file parameter:

SQL> show parameter control_files

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files           string     +DATA/PRDDB/CONTROLFILE/current.273.919525323, +REDOA/PRDDB
                                    D/CONTROLFILE/current.273.919881745, +REDOB/PRDDB/CON
                                     TROLFILE/current.258.919881745

5. Stop and start the database in open mode:

srvctl stop database -d PRDDB
srvctl start database -d PRDDB

6. Check the controlfile from v$controlfile;

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
+DATA/PRDDB/CONTROLFILE/current.273.919525323
+REDOA/PRDDB/CONTROLFILE/current.273.919881745
+REDOB/PRDDB/CONTROLFILE/current.258.919881745

Thank you for giving your valuable time to read the above information.

If you want to be updated with all our articles send us the Invitation or Follow us:

Skant Gupta’s LinkedIn: www.linkedin.com/in/skantali/

Joel Perez’s LinkedIn: www.linkedin.com/in/SirDBaaSJoelPerez

Anuradha’s LinkedIn: https://www.linkedin.com/in/dbaanuradhamudgal/

LinkedIn Group: Oracle Cloud DBAAS

Facebook Page: OracleHelp

About The Author

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.