Oracle always recommends to keep the controlfile in multiple diskgroups.  For standalone database multiplexing controlfile is straight forward, 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/curre
                                                 nt.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 names,

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

System altered.

3. Start the database in 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/curre
                                                 nt.273.919525323, +REDOA/PRDDB
                                                 D/CONTROLFILE/current.273.9198
                                                 81745, +REDOB/PRDDB/CONTROLFI
                                                 LE/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


MORE ARTICLES ON ORACLE RAC: