Pythian Blog: Technical Track

Oracle Silent Mode, Part 8: Add a Node to a 11.1 RAC Database

The process of adding a node to a 11.1 RAC is very similar to the 10.2 process described in Part 5 of this series. For this reason, this post will just focus on what has changed between the 2 versions. Here is the complete series up to now:

  1. Installation of 10.2 And 11.1 Databases
  2. Patches of 10.2 And 11.1 databases
  3. Cloning Software and databases
  4. Install a 10.2 RAC Database
  5. Add a Node to a 10.2 RAC database
  6. Remove a Node from a 10.2 RAC database
  7. Install a 11.1 RAC Database
  8. Add a Node to a 11.1 RAC database (this post!)
  9. Remove a Node from a 11.1 RAC database
  10. A ton of other stuff you should know

Before you start

Make sure you’ve kept a copy of the voting disk and that you have a backup of the OCR. Check that the locations for all the components to be installed, i.e.: Inventory, Clusterware, ASM, database software, OCR, Voting Disks, and data files, are writable. Confirm that all the prerequisites are met for the node and for the whole cluster with the node to be added.

Refer to the Oracle Clusterware Administration and Deployment Guide
11g Release 1 (11.1) – 4 Adding and Deleting Oracle Clusterware Homes

and the Oracle Real Application Clusters Administration and Deployment Guide
11g Release 1 (11.1) – 9 Adding and Deleting Oracle RAC from Nodes on Linux and UNIX Systems
for the complete reference of how to perform these steps.

Adding the new node to the Clusterware

We’ll assume we want to add a new node, rac-server5, to the cluster we’ve build in the previous post. Connect as the Clusterware owner on any of the existing nodes and run the command below:

rac-server1$ cd /u01/app/crs/oui/bin
rac-server1$ ./addNode.sh -silent CLUSTER_NEW_NODES={rac-server5} \
                CLUSTER_NEW_PRIVATE_NODE_NAMES={rac-server5-priv} \
                CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac-server5-vip}

Once the software is on the new node, you have to execute the three following scripts as root:

  1. orainsRoot.sh from the new node:
    rac-server5# /u01/oraInventory/orainstRoot.sh
  2. rootaddnode.sh from the node you’ve pushed the clusterware from:
    rac-server1# cd /u01/appcrs/install/rootaddnode.sh
  3. root.sh from the new node:
    rac-server5# /u01/app/crs/root.sh

Adding the new node to the ONS configuration

With 11.1, the remote port of the ONS is now stored only in the OCR. To add a remote port for the ONS of the new node you’ve added, connect as oracle on any of the nodes and run the command below:

rac-server5# export ORACLE_HOME=/u01/app/crs
rac-server5# cd $ORCLE_HOME/bin
rac-server5# ./racgons add_config rac-server5:6250

Adding the database software to the new node

Once the Clusterware is installed and started on the new node, add the database software to the new node. Make sure the software owner has the correct privileges on the directories to create the ORACLE_HOME:

rac-server5# mkdir -p /usr/app/oracle
rac-server5# chown -R oracle:oinstall /usr/app/oracle

Connect as the software owner on any of the other nodes and run and run the addNode.sh command as below:

rac-server1$ export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1
rac-server1$ cd $ORACLE_HOME/oui/bin
rac-server1$ ./addNode.sh -silent CLUSTER_NEW_NODES={rac-server5}

Execute the root.sh script as root on the new node:

rac-server5# cd /usr/app/oracle/product/11.1.0/db_1
rac-server5# ./root.sh

Repeat the above set of operations as many times as necessary to install all the ORACLE_HOMEs you want on the new node. That’s especially true if you use a separate ORACLE_HOME for ASM. With 11.1, you can also use Cloning to Extend Oracle RAC to Nodes in the Same Cluster.

Adding the listener to the new node

With 11.1, you can now use the srvctl add listener command to add the listener resource to the OCR. However, it’s simpler to use NETCA as below:

rac-server1$ export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1
rac-server1$ export PATH=$ORACLE_HOME/bin:$PATH
rac-server1$ netca /silent /responsefile \
             $ORACLE_HOME/network/install/netca_typ.rsp \
             /nodeinfo rac-server5

With 11.1 there is no need to set the DISPLAY variable.

Adding ASM to the new node

You can use DBCA to configure the new ASM instance. To do so, run it with -configureASM and the list of nodes. The nodes that don’t exist will be created:

rac-server1$ dbca -silent -configureASM        \
 -nodeList rac-server1,rac-server2,rac-server3,\
rac-server4,rac-server5                        \
 -asmSysPassword xxxx                          \
 -emConfiguration NONE

Adding an instance to the New Node with DBCA

You can add the new instance with DBCA too:

rac-server1$ dbca -silent -addInstance  \
  -gdbName ORCL                         \
  -sysDBAPassword xxx                   \
  -nodelist rac-server5

Manually adding an instance to the new node

You can also manually execute all the steps DBCA takes behind the scene. These steps are identical to the ones from 10.2. Refer to the 10.2 post of the series for more details.

Adding the services

You should configure the services on the new instance. Here is an example with the OLTP service declared as preferred on all the instances:

rac-server5$ srvctl modify service -d ORCL -s OLTP \
    -n -i "ORCL1,ORCL2,ORCL3,ORCL4,ORCL5"
rac-server5$ srvctl start service -d ORCL -s OLTP \
    -i ORCL5
rac-server5$ srvctl config service -d ORCL -s OLTP
rac-server5$ srvctl status service -d ORCL -s OLTP

More to come

We are almost done with RAC silent installations. The next post will explore the removal of a node from an 11.1 RAC. Then, we’ll finish the series with a look at many more features of the Oracle Installer.

No Comments Yet

Let us know what you think

Subscribe by email