Pages

New Node addition using Cloning



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]