Add New Nodes to a Cluster using Cloning ;
Step 1: Prepare the New Cluster Nodes
Check kernel parameters , block device permissions ,ensure VIP not active at start of cloning , /etc/hosts file and interconnect ping
Copy /etc/sysconfig/advmtunables and /etc/sysconfig/acfstunables to node to be added 9 (On Linux and UNIX)
Step 2: Shut Down Running Software on Source
Shut down all of the services, databases, listeners, applications, Oracle Clusterware, and Oracle ASM instances that run on the source node.
Step 3: Create a Copy of the Oracle Grid Infrastructure Home on Source
Create excludeFileList:
Grid_home/host_name
Grid_home/log/host_name
Grid_home/gpnp/host_name
Grid_home/crs/init/*
Grid_home/cdata/*
Grid_home/crf/*
Grid_home/network/admin/*.ora
Grid_home/root.sh*
*.ouibak
*.ouibak1
tar cpfX - excludeFileList Grid_home | compress -fv > temp_dir/gridHome.tar.Z
Step 4: Deploy the Oracle Grid Infrastructure Home on the Destination Nodes".
Create directories on node 2
[root@node1 crs]# mkdir /u01
[root@node1 crs]# chown oracle:oinstall /u01
[root@node1 crs]# mkdir -p /u01/app/oraInventory
[root@node1 crs]# mkdir -p /u01/app/11.2.0/grid
[root@node1 crs]# cd /u01/app/11.2.0/grid
[root@node1 crs]# tar -zxvf /path_name/gridHome.tgz
chmod u+s Grid_home/bin/oracle
chmod g+s Grid_home/bin/oracle
chmod u+s Grid_home/bin/extjob
chmod u+s Grid_home/bin/jssu
chmod u+s Grid_home/bin/oradism
Remove any tnsnames.ora, listener.ora, or sqlnet.ora files.
Step 5: Run the clone.pl Script on destination node and orainstRoot.sh
Run the clone.pl script located in the Grid_home/clone/bin directory on Node 2.
C:\>perl clone.pl ORACLE_BASE=D:\u01\app\grid
ORACLE_HOME=D:\u01\app\grid\11.2.0
ORACLE_HOME_NAME=OraHome1Grid
'"CLUSTER_NODES={node1, node2}"'
'"LOCAL_NODE=node1"'
CRS=TRUE
run the orainstRoot.sh script as root on all the nodes to populates the /etc/oraInst.loc directory with the location of the central inventory.
[root@node2 root]# /opt/oracle/oraInventory/orainstRoot.sh
Step 6: Run the addNode.sh from source
$ addNode.sh -silent -noCopy ORACLE_HOME=Grid_home
"CLUSTER_NEW_NODES={node2}"
"CLUSTER_NEW_VIRTUAL_HOSTNAMES={node2-vip}"
"CLUSTER_NEW_VIPS={node2-vip}"
CRS_ADDNODE=true
CRS_DHCP_ENABLED=false
Note ; addNode.sh script also runs the cluvfy stage -pre nodeadd verification.
Step 7: Copy from source to destination following files
Copy Grid_home/crs/install/crsconfig_addparams to Node 2
Grid_home/crs/install/crsconfig_params
Grid_home/gpnp
Step 8: Run the root.sh on destination
[root@node2 root]# Grid_home/root.sh
Step 9: Run the addNode.sh from source
$ Oracle_home/oui/bin/addNode.sh -silent -noCopy "CLUSTER_NEW_NODES={node2}"
Step 10: Run the root.sh on destination from Oracle RAC home.
Run the Oracle_home/root.sh script on Node 2 as root
Verification :
$ cluvfy stage -post nodeadd -n destination_node_name [-verbose]