Multiplex control file in 11gR2 RAC ASM using RMAN

Oracle RAC

After creating 11g R2 RAC database for the EBS R12, we wanted to enable multiplexing for the control files. Oracle recommends multiplexing the control files . We are using ASM for the storage of control files.

At the time of creating the database by dbca we can do multiplexing or we can also do later manually as described below.
Goal:- We have control file in the +DATA disk group and we want to also keep it in another disk group +OCR_VOTE for multiplexing.

STEP 1. Check the current control file status by Connecting to the database from any one for the RAC node.

SQL> select name from v$controlfile;
NAME
——————————————————————————–
+DATA/orcl/controlfile/current.263.800282297

STEP 2. Modify control_files parameter by adding the new disk group

SQL> alter system set control_files=’+DATA/orcl/controlfile/current.263.800282297′, ‘+OCR_VOTE’ scope=spfile;

STEP 3. Shutdown the RAC database and start the database in nomount mode.

[[email protected] bin]$ srvctl stop database -d orcl
 [[email protected] bin]$ srvctl start database -d orcl -o nomount

STEP 4. Check the database to see if new diskgroup has been added to the control_files parameter

SQL> show parameter control_files
NAME                                     TYPE                         VALUE
 ———————————— ———– ———————————————————————————-
 control_files                      string                      +DATA/orcl/controlfile/current.263.800282297, +OCR_VOTE

STEP 5. Connect to RMAN and use restore command to create a copy of the control file

[[email protected] bin]$ rman target /
Recovery Manager: Release 11.2.0.3.0 – Production on Wed Nov 28 04:50:08 2012
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: orcl (not mounted)
RMAN> restore controlfile from ‘+DATA/orcl/controlfile/current.263.800282297′;
Starting restore at 28-NOV-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=377 instance=orcl1 device type=DISK
channel ORA_DISK_1: copied control file copy
output file name=+DATA/orcl/controlfile/current.263.800282297
output file name=+OCR_VOTE/orcl/controlfile/current.256.800513469
Finished restore at 28-NOV-12

As you can see above new control file

+OCR_VOTE/orcl/controlfile/current.256.800513469 has been generated.

STEP 6. Use ‘alter system..’ command to modify the control_files parameter

 SQL> alter system set control_files=’+DATA/orcl/controlfile/current.263.800282297′, ’+OCR_VOTE/orcl/controlfile/current.256.800513469′ scope=spfile;
System altered.

STEP 7. Shutdown the database and start up normal.

[[email protected] bin]$ srvctl stop database -d orcl
[[email protected] bin]$ srvctl start database -d orcl
SQL> show parameter control_files;
NAME                 TYPE        VALUE
 ———————————— ——————————– —————————————————————–————
 control_files     string    +DATA/orcl/controlfile/current.263.800282297, +OCR_VOTE/orcl/controlfile/current.256.800513469
SQL> select name from v$controlfile;
NAME
 ————————————————————————————————
 +DATA/orcl/controlfile/current.263.800282297
 +OCR_VOTE/orcl/controlfile/current.256.800513469

The control file has been multiplexed in +DATA and +OCR_VOTE diskgroups.