10 Using Cloning to Extend Oracle RAC to Nodes in the Same Cluster
This chapter provides information about using cloning to extend Oracle Real Application Clusters (Oracle RAC) to nodes in an existing cluster.
To add Oracle RAC to nodes in a new cluster, see Cloning Oracle RAC to Nodes in a New Cluster.
This chapter contains the following topics:
About Adding Nodes Using Cloning in Oracle RAC Environments
The cloning procedures assume that you have successfully installed and configured an Oracle RAC environment to which you want to add nodes and instances. To add nodes to an Oracle RAC environment using cloning, first extend the Oracle Clusterware configuration, then extend the Oracle Database software with Oracle RAC, and then add the listeners and instances by running the Oracle assistants
The cloning script runs multiple tools, each of which may generate its own log files. After the clone.pl script finishes running, you can view log files to obtain more information about the cloning process. See "Locating and Viewing Log Files Generated During Cloning" for more information.
Cloning Local Oracle Homes on Linux and UNIX Systems
Add nodes to existing Oracle RAC environments by cloning a local (non-shared) Oracle home in Linux and UNIX system environments.
Complete the following steps to clone Oracle Database with Oracle RAC software:
-
Follow the steps in the "Preparing to Clone Oracle RAC" to create a copy of an Oracle home that you then use to perform the cloning procedure on one or more nodes.
-
Use the
tarutility to create an archive of the Oracle home on the existing node and copy it to the new node. If the location of the Oracle home on the source node is$ORACLE_HOME, then you must use this same directory as the destination location on the new node. -
On the new node, configure the environment variables
ORACLE_HOMEandORACLE_BASE. Then go to the$ORACLE_HOME/clone/bindirectory and run the following command, whereexisting_nodeis the name of the node that you are cloning,new_node2andnew_node3are the names of the new nodes, andOracle_home_nameis the name of the Oracle home:perl clone.pl -O 'CLUSTER_NODES={existing_node,new_node2,new_node3}' -O LOCAL_NODE=new_node2 ORACLE_BASE=$ORACLE_BASE ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME=Oracle_home_name -O -noConfig -
Run the following command to run the configuration assistants to configure Oracle RAC on the new nodes:
$ORACLE_HOME/cfgtoollogs/configToolFailedCommandsThis script contains all commands that failed, were skipped, or were canceled during the installation. You can use this script to run the database configuration assistants outside of Oracle Universal Installer. Note that before you run the script you should check the script to see if any passwords within it need to be updated.
-
Run the following command on the existing node from the
$ORACLE_HOME/oui/bindirectory to update the inventory in the Oracle Database home with Oracle RAC, specified byOracle_home, whereexisting_nodeis the name of the original node that you are cloning andnew_node2andnew_node3are the names of the new nodes:./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME -O "CLUSTER_NODES= {existing_node,new_node2,new_node3}" -
On each new node, go to the
$ORACLE_HOMEdirectory and run the following command:./root.sh -
From the node that you cloned, run Database Configuration Assistant (DBCA) to add Oracle RAC database instances on the new nodes.
Related Topics
Cloning Shared Oracle Homes on Linux and UNIX Systems
Add nodes to existing Oracle RAC environments by cloning a shared Oracle home in Linux and UNIX system environments.
Complete the following steps to clone Oracle Database with Oracle RAC software:
-
Follow the steps in the "Preparing to Clone Oracle RAC" to create a copy of an Oracle home that you then use to perform the cloning procedure on one or more nodes.
-
On the new node, configure the environment variables
ORACLE_HOMEandORACLE_BASE. Then go to the$ORACLE_HOME/clone/bindirectory and run the following command, whereexisting_nodeis the name of the node that you are cloning,new_node2, andnew_node3are the names of the new nodes,Oracle_home_nameis the name of the Oracle home, and the-cfsoption indicates the Oracle home is shared:perl clone.pl -O 'CLUSTER_NODES={existing_node,new_node2,new_node3}' -O LOCAL_NODE=new_node2 ORACLE_BASE=$ORACLE_BASE ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME=Oracle_home_name [-cfs]Note:
In the preceding command:
-
Use the
-cfsoption for a shared Oracle Database home with Oracle RAC. -
The value for the
ORACLE_HOME_NAMEparameter must be that of the node you are cloning.
-
-
Run the following command on the existing node from the
$ORACLE_HOME/oui/bindirectory to update the inventory in the Oracle Database home with Oracle RAC, specified byOracle_home, whereexisting_nodeis the name of the original node that you are cloning andnew_node2andnew_node3are the names of the new nodes:./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES= {existing_node,new_node2,new_node3}" -
On each new node, go to the
$ORACLE_HOMEdirectory and run the following command:./root.sh -
From the node that you cloned, run Database Configuration Assistant (DBCA) to add Oracle RAC database instances to the new nodes.
Related Topics
Cloning Oracle Homes on Windows Systems
Add nodes to existing Oracle RAC environments by cloning a shared or local Oracle home in Windows system environments.
Complete the following steps to clone Oracle Database with Oracle RAC software:
-
If you have a local Oracle home, then use the ZIP utility to create an archive of the Oracle Database home with Oracle RAC on the existing node and copy it to the new node. Otherwise, proceed to the next step.
Extract the Oracle Database with Oracle RAC home files from the ZIP file on the new node in the same directory in which the Oracle Database home with Oracle RAC resided on the existing node. For example, assume that the location of the destination Oracle RAC home on the new node is
%ORACLE_HOME%. -
On the new node, go to the
%ORACLE_HOME%\clone\bindirectory and run the following command, whereOracle_Homeis the Oracle Database home,Oracle_Home_Nameis the name of the Oracle Database home,Oracle_Baseis the Oracle base directory,user_nameis the name of the Oracle home user (a non-Administrator user) for the Oracle home being cloned,existing_nodeis the name of the existing node, andnew_nodeis the name of the new node:perl clone.pl ORACLE_HOME=Oracle_Home ORACLE_BASE=Oracle_Base ORACLE_HOME_NAME=Oracle_Home_Name ORACLE_HOME_USER=user_name -O 'CLUSTER_NODES={existing_node,new_node}' -O LOCAL_NODE=new_nodeIf you have a shared Oracle Database home with Oracle RAC, then append the
-cfsoption to the command to indicate that the Oracle home is shared, as shown in the following example:perl clone.pl ORACLE_HOME=Oracle_Home ORACLE_BASE=Oracle_Base ORACLE_HOME_NAME=Oracle_Home_Name ORACLE_HOME_USER=user_name -O 'CLUSTER_NODES={existing_node,new_node}' -O LOCAL_NODE=new_node [-cfs -noConfig]Note:
-
The
ORACLE_HOME_USERis required only if you are cloning a secured Oracle home. -
Use the
-cfsand-noConfigoptions for a shared Oracle Database home with Oracle RAC. -
The value for the
ORACLE_HOME_NAMEparameter must be that of the node you are cloning. To obtain theORACLE_HOME_NAME, look in the registry on the node you cloning for theORACLE_HOME_NAMEparameter key underHKEY_LOCAL_MACHINE\SOFTWARE\oracle\KEY_OraCRs12c_home1.
-
-
On the existing node, from the
%ORACLE_HOME%\oui\bindirectory run the following command to update the inventory in the Oracle Database home with Oracle RAC, specified byOracle_home, whereexisting_nodeis the name of the existing node, andnew_nodeis the name of the new node:setup.exe -updateNodeList ORACLE_HOME=Oracle_home "CLUSTER_NODES= {existing_node,new_node}" LOCAL_NODE=existing_node -
From the node that you cloned, run DBCA to add Oracle RAC database instances to the new nodes.