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 Convert verify as “YES”
. 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.
Note: The Convert verify option in xml file has three options:
- YES : rconfig performs check that prerequisites for single-instance to RAC conversion have been met before it starts conversion
- NO : rconfig does not perform checks and starts conversion
- ONLY: rconfig performs only prerequisite checks; it does not perform conversion after completing checks
– 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
———————
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
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
Hi Anju
Thanks for sharing good information,
Kindly let me know in which stage the cluster services will be installed and ASM will be configured.
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
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
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.
Hi Neeraj,
Pls check if your machine has sufficient memory.
Regards
Anju
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
Please refer to following links:
http://ashishdba.blogspot.in/2012/10/node-addition-in-10g.html
http://ashishdba.blogspot.in/2012/10/node-deletetion-steps-node2.html
Regards
Anju
Thanks for your reply.
Please refer to following links:
http://ashishdba.blogspot.in/2012/10/node-addition-in-10g.html
http://ashishdba.blogspot.in/2012/10/node-deletetion-steps-node2.html
Regards
Anju
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
Rohit.
Please refer to following post of mine:
http://oracleinaction.com/migrate-rac-db/
Follow the steps in this post and leave the steps to convert single instance database to RAC database.
Hope it helps
Regards
Anju Garg
Thanks Anju,
I will let you know in case of any issue.
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) ?
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
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.
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
I have a standalone db on ASM ( 2 node cluster) and just want to convert to RAC . can I still use this ?
Yes you can.
Regards
Anju Garg
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.
Hi Siripala
If Standalone Database is on the cluster along with other RAC Databases, Pls refer to http://oracleinaction.com/rconfig/
If Standalone Database is residing on a separate host without cluster, pls refer to http://oracleinaction.com/migrate-rac-db/.
Hope it helps!!
regards
Anju
Amazing,
Description Worth reading….thankyou sir
Thanks Shahab for your time and feedback. Your comments and suggestions are always welcome!
Regards
Anju Garg
Hello Mam,
Thanks for sharing…..
Can you please update my.xml file with convert verify option., like
convert verify = Yes | No | Only
Once modified the my.xml file with required details ,we need to cross-check before going to run ./rconfig my.xml. So that will come to know all the checks passed or not.
Thanks,
chandra
Hello Chandu
Thanks for pointing out. I have updated the blog post with details of convert verify option.
Regards
Anju