August 4, 2010
This post talks about the Conversion of 11gR2 non-RAC database to RAC database using rconfig.
Oracle provides 3 methods to convert non-RAC single instance database to RAC databases:
3. Enterprise Manager
All the 3 have their own benefits and can be used to suit one’s needs. My recent work involved the conversion of non-RAC single instance database to RAC database using rconfig, although I’ve tested all the 3 methods but concluded on rconfig.
1. Configure Shared Storage setup ASM, NFS (NAS) or clustered storage.
- For ASM, refer to Oracle Database Storage Administrator’s Guide11g Release 2 (11.2)
- For configuring shared storage, refer to Configuring Storage for Grid Infrastructure for a Cluster and Oracle Real Application Clusters (Oracle RAC) (Linux)
- See also Oracle Database Administrator’s Guide 11g Release 2 (11.2)
2. A clustered Grid Infrastructure install with at least one Scan listener address. See
3. rconfig imposes a restriction on the choice of listener. The listener must be the default listener, and it must run from the Grid Infrastructure home.
srvctl add listener -p 1522
After conversion, you can reconfigure the listener as required.
4. Install Clustered Oracle Database Software as per documentation, this can be done by choosing the right configuration option. Refer to :
I’ve installed the new 11gR2 clustered ORACLE_HOME at
on both the nodes orarac01 and orarac02
Converting Single Instance Database using rconfig
1. As an “oracle” OS user navigate to
2. Open the sample file ConvertToRAC_AdminManaged.xml using a text editor such as vi. This XML sample file contains comment lines that provide instructions on how to edit the file to suit your site’s specific needs.
3. Ensure you edit the xml with
convert verify="ONLY"The following are the sample entries:
<!--Specify current OracleHome of non-rac database for SourceDBHome --> /u01/app/oracle/product/11.2.0/db_1 <!--Specify OracleHome where the rac database should be configured. It can be same as SourceDBHome --> /u01/app/oracle/product/11.2.0/db_2 <!--Specify SID of non-rac database and credential. User with sysdba role is required to perform conversion --> ... <!--Specify the list of nodes that should have rac instances running for the Admin Managed Cluster Database. LocalNode should be the first node in this nodelist. --> ... <!--Specify Database Area Location to be configured for rac database.If this field is left empty, current storage will be use d for rac database. For CFS, this field will have directory path. --> +DATA
4. Move the spfile to the shared location, in this case the Single Instance Database was hosted on file system, in this process we will move the datafiles from file system storage to ASM.
So create spfile in the shared disk location
SQL>create spfile='+DATA/TEST/spfiletest.ora' from pfile;
You can check if the file is created through “asmcmd”
5. Take a backup of existing $SOURCE_ORACLE_HOME/dbs/initTEST.ora, and create a new $SOURCE_ORACLE_HOME/dbs/initTEST.ora with the following parameter:
6. Restart the Database
7. Now lets test if “rconfig” is ready for conversion, navigate to $ORACLE_HOME/bin and issue the following command
The above command validates( as we’ve set convert=”ONLY”) if rconfig is ready for conversion. If the output throws any error, diagnose and troubleshoot to fix the issue. Refer to the following output for successful validation:
... Operation Succeeded There is no return value for this step ..
8. Now are we are ready for conversion, edit the xml file “ConvertToRAC_AdminManaged.xml” and change:
.. <n:Convert verify="ONLY"> ..
.. <n:Convert verify="YES"> ..
9. Perform the conversion
The conversion will take some time to complete. The progress can be monitored from the logs located at $ORACLE_BASE/cfgtoollogs/rconfig
10. Once the conversion is complete you’d get a similar message in step 7.
11. Perform sanity checks and tweak the listener to suit your needs.
That sums up the procedure to convert Single Instance Oracle Database to RAC database. Please do share your thoughts and comments.