Monday, February 18, 2008

Clone new Cluster Node

Cloning Oracle Clusterware

  1. Archive the Oracle Clusterware home from node A (existing node) and copy it to node B and node C. (node B and C are new nodes) ($CRS_HOME)
  2. Unarchive the home on the new nodes B and C. In case of shared home, unarchive the home only once on either of the nodes.
  3. On nodes B and C go to $CRS_HOME/clone/bin and execute the following command:
  4. perl clone.pl ORACLE_HOME=Path to the Oracle_Home being cloned
    ORACLE_HOME_NAME=Oracle_Home_Name for the Oracle_Home being cloned
    '-On_storageTypeVDSK=2' '-On_storageTypeOCR=2'
    '-O"sl_tableList={node_B:node_B_priv:node_B-vip,
    ode_C:node_C_priv:node_C-vip}"' '-OINVENTORY_LOCATION=inventory location'
  5. On UNIX, navigate to the directory and run orainstRoot.sh on the nodes B and C. This populates /etc/oraInst.loc with the location of the Central Inventory. On nodes B and C, go to $CRS_HOME and run root.sh. This will bring the Oracle Clusterware stack on node B. Repeat this step on node C.
  6. To get the remote port information, execute the following command from the $CRS_HOME/opmn/conf directory: ./ons.config
  7. On node B, execute the following from $CRS_HOME/bin:
    ./racgons add_config node B:Remote_Port node C:Remote_Port
  8. Execute the following command to get the interconnect information. You can use this information in the next step.
    $CRS_HOME/bin/oifcfg iflist –p
  9. Execute oifcfg command as follows:
    oifcfg setif -global interface_name/subnet:public inteface_
    name/subnet:cluster_interconnect

Important Considerations when Cloning Oracle Clusterware

Should have an existing home on the remote node and it should be writable.
Should have executed root.sh and should have run other configuration tools on the source node.
Can also use a response file instead of passing these parameters through the command line.
The tar operation need not be performed as root.
For a shared home need to also pass -cfs parameter on the command line.
Never pass the CLUSTER_NODES and LOCAL_NODE parameters through the command line.

Cloning Real Application Clusters

  1. Archive the Real Application Clusters home from node A (existing) and copy it to node B and node C. (new nodes) ($ORACLE_HOME)
  2. Unarchive the home on the nodes B and C. In case of shared home, unarchive the home only once on either of the nodes.
  3. On nodes B and C go to $CRS_HOME/oui/bin and execute the following command:
    perl clone.pl ORACLE_HOME=Path to the Oracle_Home being cloned ORACLE_HOME_NAME=Oracle_Home_Name for the Oracle_Home being cloned '-O"CLUSTER_NODES={node B,node C}"' '-OLOCAL_NODE=node_B"
  4. For UNIX, perform the following additional steps: On node B, go to $ORACLE_HOME and run root.sh. Repeat this step on node C.On node B, set the environment variable to ORACLE_HOME. Also add $ORACLE_HOME/lib to LD_LIBRARY_PATH.
  5. Run Net Configuration Assistant on node B.
  6. Run Database Configuration Assistant on node B.

Important Considerations when Cloning Real Application Clusters
The order of nodes specified should always be the same on all hosts.
Oracle Clusterware should be installed on the cluster nodes prior to starting Real Application Clusters installation.
The nodes for Real Application Clusters installation would be a subset of the nodes for Oracle Clusterware installation.
For a shared home you need to also pass -cfs parameter on the command line.