11g R2 RAC: CONVERT NON RAC DATABASE TO RAC DATABASE USING RCONFIG

Oracle supports the following methods to convert a single-instance database to an RAC database as long as the RAC and the standalone environments are running on the same operating system and using the same oracle release:
• DBCA
• Oracle Enterprise Manager (grid control)
• RCONFIG
• Manual method
In this post, I will focus on and demonstrate this using the rconfig command-line tool.
During the conversion, rconfig performs the following steps automatically:
• Migrating the database to ASM, if specified
• Creating RAC database instances on all specified nodes in the cluster
• Configuring the Listener and NetService entries
• Registering services with CRS
• Starting up the instances and listener on all nodes
 In Oracle 11g R2., a single-instance database can either be converted to an administrator-managed cluster database or a policy-managed cluster database.
When you navigate through the $ORACLE_HOME/assistants/rconfig/sampleXMLS, you will find two sample XML input files.
- ConvertToRAC_AdminManaged.xml
- ConvertToRAC_PolicyManaged.xml
While converting a single-instance database, with filesystem storage, to an RAC database with Automatic Storage Management (ASM), rconfig invokes RMAN internally to back up the database to proceed with converting non-ASM to ASM. Therefore, configuring parallel options to use multiple RMAN channels in the
RMAN on the local node may make backup run faster, which eventually reduces the conversion duration. For example, you may configure the following in the RMAN  settings of orcl database on the local node.
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 6;
CURRENT SCENARIO:
- 3 node RAC setup
- Names of nodes : Host01, Host02, Host03
- Name of single instance database with filesystem storage : orcl
- Source Oracle home : /u01/app/oracle/product/11.2.0/dbhome_1
- Target Oracle home : /u01/app/oracle/product/11.2.0/dbhome_1
OBJECTIVE
- convert orcl to a Admin managed RAC database running on two nodes host01 and host02.
- change storage to ASM with
   . Datafiles on +DATA diskgroup
   . Flash recovery area on +FRA diskgroup
IMPLEMENTATION:
– copy ConvertToRAC_AdminManaged.xml to another file my.xml
host01$cd $ORACLE_HOME/assistants/rconfig/sampleXMLs
host01$cp ConvertToRAC_AdminManaged.xml my.xml
– Edit my.xml and make following changes :
   . Specify current OracleHome of non-rac database for SourceDBHome
   . Specify OracleHome where the rac database should be configured. It can be same as SourceDBHome
   . 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.
   . Instance Prefix tag is optional starting with 11.2. If left empty, it is derived from db_unique_name
   . Specify the type of storage to be used by rac database. Allowable values are CFS|ASM
   . Specify Database Area Location to be configured for rac database.
   . Specify Flash Recovery Area to be configured for rac database.
– Run rconfig to convert orcl from single instance database to 2 instance RAC database
host01$rconfig my.xml
– Check the log file for rconfig while conversion is going on
oracle@host01$ls -lrt  $ORACLE_BASE/cfgtoollogs/rconfig/*.log
                         tailf
– check that the database has been converted successfully
host01$srvctl status database -d orcl
Instance orcl1 is running on node host01
Instance orcl2 is running on node host02
– Note that rconfig adds password file to all the nodes but  entry to   tnsnames.ora needs to be modified (to reflect scan name instead of host-ip) on the local node and added to rest of the nodes.
– For all other nodes, copy the entry for the database (orcl) from    tnsnames.ora on local node to tnsnames.ora on remote node(s).
– Following is the entry I modified on the local node and copied to rest of the nodes :
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = cluster01-scan.cluster01.example.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
– check that database can be connected remotely from remote node.
host02$sqlplus system/oracle@orcl
– check that datafiles have converted to ASM
SQL>select name from v$datafile;
NAME
——————————————————————————–
+DATA/orcl/datafile/system.326.794838279
+DATA/orcl/datafile/sysaux.325.794838349
+DATA/orcl/datafile/undotbs1.305.794838405
+DATA/orcl/datafile/users.342.794838413
+DATA/orcl/datafile/undotbs2.348.794838
———————————————————————————————————–
Related links:

11g R2 RAC: Clone Database Home

 

                                                              ———————

 

24 thoughts on “11g R2 RAC: CONVERT NON RAC DATABASE TO RAC DATABASE USING RCONFIG

  1. hello mam kindly check as i am getting this error while executing rconfig command

    [oracle@host01 sampleXMLs]$ rconfig my.xml
    oracle.sysman.assistants.rconfig.engine.InvalidConfigurationException: Error during creation of Log Files:Permission denied
    at oracle.sysman.assistants.rconfig.util.Log.initialize(Log.java:78)
    at oracle.sysman.assistants.rconfig.RConfig.main(RConfig.java:129)
    Caused by: java.io.IOException: Permission denied
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:850)
    at oracle.sysman.assistants.rconfig.util.Log.createFile(Log.java:149)
    at oracle.sysman.assistants.rconfig.util.Log.initialize(Log.java:65)
    … 1 more

  2. Hello Rahul,
    As per the error message
    Error during creation of Log Files:Permission denied

    there seems to be some problem related to permissions on the folder where log files for rconfig are generated i.e. $ORACLE_BASE/cfgtools/rconfig

    Pls check permissions on this folder. Oracle user should have write permission on this folder.

    Change the permissions and retry running rconfig.

    Hope it helps

    Anju Garg

  3. HI Anju,
    I am trying to convert single instance into RAC Rconfig withbut its getting error out with Shared memory Realm doesnot exist .I checked log
    Rman backup has done successfully and after that its trying to start instace and get error out with shared memory realm doesnot exist.Please share you exper comments

    1. Hi Neeraj,

      Pls check if ORACLE_SID and ORACLE_HOME have been set correctly.
      If u r working on windows, check if service for the database has been started.

      Regards
      Anju

      1. HI Anju ,

        Thanks for your reply . I am working on linux . My oracle home and env are correctly set . Its failing after taking rman backup and shutting downing single instance.

  4. It worked out . I checked it was unable to relocate the spfile backup on ASM disk so i moved my spfile on local mount point and started it again.
    Thanks a lot for your reply
    Can you suggest the steps for deleting and adding nodes in oracle cluster 10.2.0.5

  5. Anju,

    We want to split our RAC database to singal instance on 11g ,management want new database should with without CRS and without scan ip and all rac specific variable .
    Can you please give me step to convert RAC database to singal DB with ASM

    Thanks,
    Rohit Kumar

  6. Hi ,

    This is from host01 to host01,host02 and host03.

    But what would be the steps if i have single node on host01 and the new db has to be on host02 and host03 only ( 2 node) ?

    1. Hi

      For that you can
      – First you create 3 node database and then delete the instance you do not need
      OR
      – Create single instance database on host02 or host03 using backup from host01 and then convert it to RAC

      regards
      Anju

      1. HI Anju Nice Doc,I have confusion over source oracle home and target oracle home.Both have same location.How can this be As part of prerequisite we have to install cluster and database software so they will be at different location.

        1. Hi Fam,

          Thanks for your time and feedback.
          In my case I had created single instance database in a clustered Oracle home and then converted it into a RAC database in same database home.

          Hope it helps.

          Your comments and suggestions are always welcome.

          regards
          Anju

  7. Hi Anju,

    To convert a Standalone Database to RAC Database:
    What should be the pre-requisite?
    a)Should the stand alone DB be on the cluster along with other RAC Dbs (or)
    b)Is it purely a Stand alone DB residing on a separate host without cluster .If this is the case what one should do? (i.e if I have Stand alone DB setup separate from RAC DB set up)

    Thanks in Advance.

Your comments and suggestions are welcome!