Oracle 11gR2 RAC – Step by Step to Add New Nodes
◎ New Nodes Preparation (Perform on RAC3 & RAC4)
a. User Account (grid & oracle)
b. Networking
c. Kernel Parameter
d. Create Directories (grid & oracle)
e. Check OS Software Requirements
f. Shared Storage & ASMLib
g. Install CVU (Cluster Verification Utility) Package on new nodes:
[root@RAC3 ]# cd /source/grid/rpm
[root@RAC3 rpm]# export CVUQDISK_GRP=dba
[root@RAC3 rpm]# rpm -Uvh cvuqdisk-1.0.9-1.rpm
[root@RAC4 cd /source/grid/rpm
[root@RAC4 rpm]# export CVUQDISK_GRP=dba
[root@RAC4 rpm]# rpm -Uvh cvuqdisk-1.0.9-1.rpm
◎ Run cluvfy to Check New Nodes
※ Performs the appropriate network and storage checks on new nodes:
[grid@RAC1 oracle]$ cluvfy stage -post hwos -n RAC3,RAC4
※Performs the appropriate checks on the node(s) to be added to the existing cluster, and verifies the
integrity of the cluster before the node(s) can be added:
[grid@RAC1 oracle]$ cluvfy stage -pre nodeadd -n RAC3,RAC4 -fixup –verbose
PS. If '-fixup' option is specified, on verification failure, fixup instructions are generated, if feasible. The '-fixupdir' option can be used to specify a specific directory in which the fixup instructions should be generated.
※ Performs the appropriate checks on the existing nodes as well as new nodes before setting up
Cluster Ready Services(CRS):
[grid@RAC1 oracle]$ cluvfy stage -pre crsinst -n RAC1,RAC2,RAC3,RAC4 -fixup -verbose
◎ Extend the Clusterware to the new nodes (Perform on Node1)
[grid@RAC1 oracle]$ export IGNORE_PREADDNODE_CHECKS=Y
[grid@RAC1 oracle]$ cd $ORACLE_HOME/oui/bin/
[grid@RAC1 oracle]$ ./addNode.sh -silent "CLUSTER_NEW_NODES={RAC3,RAC4}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={RAC3-vip,RAC4-vip}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={RAC3-priv,RAC4-priv}"
Follow the instruction, run the following configuration scripts as the “root” user in each new cluster node.
(Perform On Node 3 & Node 4)
[root@RAC3 ]# /grid/oraInventory/orainstRoot.sh
[root@RAC3 ]# /grid/grid11203/root.sh
[root@RAC4 ]# /grid/oraInventory/orainstRoot.sh
[root@RAC4]# /grid/grid11203/root.sh
◎ Check Cluster Resource Status
[grid@RAC4 ~]$ crsctl status res -t
◎ Extend Oracle Database Software to the new nodes (Perform on Node1)
[oracle@RAC1 ~]$ cd $ORACLE_HOME/oui/bin/
[oracle@RAC1 ~]$ export IGNORE_PREADDNODE_CHECKS=Y
[oracle@RAC1 bin]$ ./addNode.sh -silent “CLUSTER_NEW_NODES={RAC3,RAC4}”
Follow the instruction, run root.sh on each new node (Perform On Node 3 & Node 4)
[root@RAC3 ~]# /oracle/db11203/root.sh
[root@RAC4 ~]# /oracle/db11203/root.sh
◎ Resolve Node Instance Dependencies (Perform on Node 3 & Node 4):
[oracle@RAC3 ~]$ cd $ORACLE_HOME/dbs
[oracle@RAC3 dbs]$ mv initRACDB1.ora initRACDB3.ora
[oracle@RAC3 dbs]$ mv orapwRACDB1 orapwRACDB3
[oracle@RAC3 dbs]$ echo “RACDB:$ORACLE_HOME:N” >> /etc/oratab
[oracle@RAC4 ~ ]$ cd $ORACLE_HOME/dbs
[oracle@RAC4 dbs]$ mv initRACDB1.ora initRACDB4.ora
[oracle@RAC4 dbs]$ mv orapwRACDB1 orapwRACDB4
[oracle@RAC4 dbs]$ echo “RACDB:$ORACLE_HOME:N” >> /etc/oratab
◎ Create Redo Log Group for RAC3 & RAC4
RACDB/RACDB1/> alter database add logfile thread 3 group 9 size 100M, group 10 size 100M, group 11 size 100M, group 12 size 100M;
RACDB/RACDB1/> alter database add logfile thread 4 group 13 size 100M, group 14 size 100M, group 15 size 100M, group 16 size 100M;
RACDB/RACDB1/> alter database enable public thread 3;
RACDB/RACDB1/> alter database enable public thread 4;
◎ Create Undo Tablespaces for RACDB3 & RACDB4
RACDB/RACDB1/> create bigfile undo tablespace undotbs3 datafile size 1G autoextend on next 100M;
RACDB/RACDB1/> alter system set undo_tablespace='undotbs3' scope=spfile sid='RACDB3';
RACDB/RACDB1/> create bigfile undo tablespace undotbs4 datafile size 1G autoextend on next 100M;
RACDB/RACDB1/> alter system set undo_tablespace='undotbs4' scope=spfile sid='RACDB4';
◎ Set Instance_Number for RACDB3 & RACDB4
RACDB/RACDB1/> alter system set instance_number=3 scope=spfile sid='RACDB3';
RACDB/RACDB1/> alter system set instance_number=4 scope=spfile sid='RACDB4';
RACDB/RACDB1/> alter system set cluster_database_instances=4 scope=spfile sid='*';
◎ Add Configurations of New Database Instances To The Oracle Clusterware
[oracle@RAC3 ~]$ srvctl add instance -d RACDB -i RACDB3 -n RAC3
[oracle@RAC4 ~]$ srvctl add instance -d RACDB -i RACDB4 -n RAC4
◎ Start New Database Instances:
[oracle@RAC3 ~]$ srvctl start instance -d RACDB -i RACDB3,RACDB4
