I will explain How to Add Node In Oracle RAC in this post.
Add Node In Oracle RAC
If you want to learn What is the Oracle RAC and how to install Oracle RAC, you can read the following post to learn more details about Oracle RAC.
Sometimes you need adding new nodes ( instances ) to Oracle RAC. I have 2 nodes RAC and we have decided to add 2 nodes to this cluster. So new cluster should be run on 4 nodes RAC.
Addnode.sh
Oracle has addnode.sh script under $ORACLE_HOME/addnode directory. You can use this script to add new node to cluster.
I have run the addnode.sh scripts as follows.
[MSDBDG1 ]/u01/app/oracle/product/19.0.0/dbhome_1/addnode $ ./addnode.sh -silent "CLUSTER_NEW_NODES={msdbadm03}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={msdb03-vip.deveci.local}" [FATAL] [INS-30131] Initial setup required for the execution of installer validations failed. CAUSE: Installation cannot proceed further since the system failed to meet the requirements for installation. *ADDITIONAL INFORMATION:* Exception details - PRVF-4008 : User equivalence unavailable on all the specified nodes PRVF-4098 : User equivalence not found for node "msdbadm03" [MSDBDG1 ]/u01/app/oracle/product/19.0.0/dbhome_1/addnode $ [MSDBDG1 ]/u01/app/oracle/product/19.0.0/dbhome_1/addnode $
I got ” User equivalence unavailable on all the specified ….” errors.
To solve this error, I have setup the user equivalence on all the specified nodes using the following post.
sshUserSetup.sh
There is a “sshUserSetup.sh” file under “sshsetup” directory in the Grid and Database Setup for Oracle 11gR2 and beyond.
Run this sshUserSetup.sh file to set up this passwordless SSH connectivity.
sshUserSetup.sh syntax is as follows.
./sshUserSetup.sh -user <user name> [ -hosts "<space separated hostlist>" | -hostfile <absolute path of cluster configuration file> ] [ -advanced ] [ -verify] [ -exverify ] [ -logfile <desired absolute path of logfile> ] [-confirm] [-shared] [-help] [-usePassphrase] [-noPromptPassphrase]
[oracle@MSDBdbadm01:/home/oracle/media/sshsetup:> ./sshUserSetup.sh -user oracle -hosts "msdbdbadm01 msdbdbadm02" -noPromptPassphrase The output of this script is also logged into /tmp/sshUserSetup_2020-04-01-20-01-06.log Hosts are msdbdbadm01 msdbdbadm02 user is oracle Platform:- Linux Checking if the remote hosts are reachable PING msdbdbadm01.localdomain (192.168.63.205) 56(84) bytes of data. 64 bytes from msdbdbadm01.localdomain (192.168.63.205): icmp_seq=1 ttl=64 time=0.018 ms 64 bytes from msdbdbadm01.localdomain (192.168.63.205): icmp_seq=2 ttl=64 time=0.017 ms 64 bytes from msdbdbadm01.localdomain (192.168.63.205): icmp_seq=3 ttl=64 time=0.017 ms 64 bytes from msdbdbadm01.localdomain (192.168.63.205): icmp_seq=4 ttl=64 time=0.019 ms 64 bytes from msdbdbadm01.localdomain (192.168.63.205): icmp_seq=5 ttl=64 time=0.018 ms --- msdbdbadm01.localdomain ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 3999ms rtt min/avg/max/mdev = 0.017/0.017/0.019/0.004 ms PING msdbdbadm02.localdomain (192.168.63.206) 56(84) bytes of data. 64 bytes from msdbdbadm02.localdomain (192.168.63.206): icmp_seq=1 ttl=64 time=0.110 ms 64 bytes from msdbdbadm02.localdomain (192.168.63.206): icmp_seq=2 ttl=64 time=0.265 ms 64 bytes from msdbdbadm02.localdomain (192.168.63.206): icmp_seq=3 ttl=64 time=0.254 ms 64 bytes from msdbdbadm02.localdomain (192.168.63.206): icmp_seq=4 ttl=64 time=0.101 ms 64 bytes from msdbdbadm02.localdomain (192.168.63.206): icmp_seq=5 ttl=64 time=0.321 ms
Passwordless SSH Connectivity has been established again with sshUserSetup.sh.
If you have completed the Passwordless SSH Connectivity between new nodes, then you can now start to add new nodes to Oracle RAC using addnode.sh as follows.
addnode.sh -silent "CLUSTER_NEW_NODES={hostname}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={virtual_hostname}"
Firstly msdbadm03 node will be added, then msdbadm04 node will be added as follows.
[MSDBDG1 ]/u01/app/oracle/product/19.0.0/dbhome_1/addnode $ [MSDBDG1 ]/u01/app/oracle/product/19.0.0/dbhome_1/addnode $ ./addnode.sh -silent "CLUSTER_NEW_NODES={msdbadm03}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={msdb03-vip.deveci.local}" Prepare Configuration in progress. Prepare Configuration successful. .................................................. 7% Done. Copy Files to Remote Nodes in progress. .................................................. 12% Done. .................................................. 18% Done. .............................. Copy Files to Remote Nodes successful. You can find the log of this install session at: /u01/app/oraInventory/logs/addNodeActions2021-02-04_07-23-04PM.log Instantiate files in progress. Instantiate files successful. .................................................. 52% Done. Saving cluster inventory in progress. .................................................. 89% Done. Saving cluster inventory successful. The Cluster Node Addition of /u01/app/oracle/product/19.0.0/dbhome_1 was successful. Please check '/u01/app/oraInventory/logs/silentInstall2021-02-04_07-23-04PM.log' for more details. Setup Oracle Base in progress. Setup Oracle Base successful. .................................................. 96% Done. As a root user, execute the following script(s): 1. /u01/app/oracle/product/19.0.0/dbhome_1/root.sh Execute /u01/app/oracle/product/19.0.0/dbhome_1/root.sh on the following nodes: [msdbadm03] Successfully Setup Software. .................................................. 100% Done. [MSDBDG1 ]/u01/app/oracle/product/19.0.0/dbhome_1/addnode $ - -bash: -: command not found [MSDBDG1 ]/u01/app/oracle/product/19.0.0/dbhome_1/addnode $ [MSDBDG1 ]/u01/app/oracle/product/19.0.0/dbhome_1/addnode $ [MSDBDG1 ]/u01/app/oracle/product/19.0.0/dbhome_1/addnode $ [MSDBDG1 ]/u01/app/oracle/product/19.0.0/dbhome_1/addnode $ [MSDBDG1 ]/u01/app/oracle/product/19.0.0/dbhome_1/addnode $ ./addnode.sh -silent "CLUSTER_NEW_NODES={msdbadm04}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={msdb04-vip.deveci.local}" Prepare Configuration in progress. Prepare Configuration successful. .................................................. 7% Done. Copy Files to Remote Nodes in progress. .................................................. 12% Done. .................................................. 18% Done. ....................-.......... Copy Files to Remote Nodes successful. You can find the log of this install session at: /u01/app/oraInventory/logs/addNodeActions2021-02-04_07-34-28PM.log Instantiate files in progress. Instantiate files successful. .................................................. 52% Done. Saving cluster inventory in progress. .................................................. 89% Done. Saving cluster inventory successful. The Cluster Node Addition of /u01/app/oracle/product/19.0.0/dbhome_1 was successful. Please check '/u01/app/oraInventory/logs/silentInstall2021-02-04_07-34-28PM.log' for more details. Setup Oracle Base in progress. Setup Oracle Base successful. .................................................. 96% Done. As a root user, execute the following script(s): 1. /u01/app/oracle/product/19.0.0/dbhome_1/root.sh Execute /u01/app/oracle/product/19.0.0/dbhome_1/root.sh on the following nodes: [msdbadm04] Successfully Setup Software. .................................................. 100% Done. [MSDBDG1 ]/u01/app/oracle/product/19.0.0/dbhome_1/addnode $
Now msdbadm03 and msdbadm04 nodes have been added to our cluster.
You can add new nodes to cluster for both Grid Infrastructure and Oracle RAC using the addnode.sh script under the $ORACLE_HOME/addnode
You can read the following post to learn more details about Oracle RAC.
What is the Oracle RAC and Architecture of Real Application Cluster
Do you want to learn Oracle Database for Beginners, then Click and read the following articles.
Oracle Tutorial | Oracle Database Tutorials for Beginners ( Junior Oracle DBA )