Friday, September 25, 2026
  • About Us
  • Contact
DBAInsight
  • Guides
    • 23ai
    • RMAN
    • 26ai
    • Patch Update
    • RMAN
    • MySQL
    • Oracle GoldenGate
  • Cloud Technology
  • Case Studies
  • Troubleshooting
  • Training & Certification
NEWSLETTER
No Result
View All Result
DBAInsight
Home Guides

How to Add a Node in Oracle RAC 19c – Complete Step-by-Step Guide

September 16, 2026
in Guides
0
How to Add a Node in Oracle RAC 19c – Complete Step-by-Step Guide
0
SHARES
50
VIEWS

Adding a new node to an existing Oracle RAC 19c environment is a common task when you need additional processing capacity, workload distribution, or higher availability.

In this guide, we will add a new RAC node to an existing Oracle RAC 19c cluster and cover the complete process from preparing the new server to creating the database instance.

Table of Contents

Toggle
      • Related posts
      • Oracle Database Monitoring Tools: 10 Best Tools for DBAs in 2026
      • Oracle Database Release Roadmap 2026: Current Support Status, 19c, 21c and 26ai
  • Oracle RAC 19c Environment
      • Existing RAC node
      • New RAC node
      • Grid Infrastructure Home
      • Oracle Database Home
  • RAC Environment Before Adding the Node
  • RAC Node Addition Workflow
  • 1. Prepare the New RAC Node
  • 2. Verify the Hostname
  • 3. Check Hostname Resolution
  • 4. Check the RAC Private Interconnect
  • 5. Verify Oracle Users and Groups
  • 6. Configure SSH Connectivity
  • 7. Verify the Existing RAC Cluster
  • Part 1 – Add the New Node to Grid Infrastructure
  • 8. Start gridSetup.sh
  • 9. Cluster Add Node Information
  • 10. Verify Passwordless SSH
  • 11. Run Grid Infrastructure Prerequisite Checks
  • 12. Example: resolv.conf Integrity Failure
  • 13. Troubleshooting resolv.conf Integrity
  • 14. Review the Grid Infrastructure Summary
  • 15. Complete the Grid Infrastructure Installation
  • 16. Verify the Grid Infrastructure Node
  • Part 2 – Extend the Oracle Database Home
  • 17. Run addnode.sh
  • 18. Select the New Node
  • 19. Database Home Prerequisite Checks
  • 20. Review the Database Home Summary
  • 21. Copy Oracle Database Home to the New Node
  • 22. Execute the Root Configuration Script
  • 23. Wait for All Installation Tasks to Complete
  • 24. Successful Database Home Node Addition
  • 25. Verify the Oracle Home on DBHOST03
  • 26. Verify the Oracle Database Version
  • Part 3 – Add the Database Instance Using DBCA
  • 27. Start DBCA
  • 28. Understand the Difference Between addnode.sh and DBCA
      • gridSetup.sh
      • addnode.sh
      • DBCA
  • 29. Verify the Database Configuration
  • 30. Check RAC Services
  • 31. Verify the RAC Instances From SQL
  • 32. Final RAC Health Check
      • Check RAC nodes
      • Check Clusterware
      • Check cluster resources
      • Check ASM
      • Check listener
      • Check database
      • Check services
      • Check instances
  • 33. Final RAC Architecture
  • Complete Node Addition Flow
  • Common Issues During RAC Node Addition
    • 1. SSH Connectivity Failure
    • 2. resolv.conf Integrity Failure
    • 3. Node Does Not Appear in olsnodes
    • 4. Oracle Home Missing on the New Node
    • 5. Database Instance Does Not Start
  • Important Best Practices
  • Key Difference Between the Three Tools
  • Conclusion

Related posts

Oracle Database Monitoring Tools

Oracle Database Monitoring Tools: 10 Best Tools for DBAs in 2026

September 22, 2026
Oracle Database Release Roadmap 2026: Current Support Status, 19c, 21c and 26ai

Oracle Database Release Roadmap 2026: Current Support Status, 19c, 21c and 26ai

September 21, 2026

The process is divided into three major stages:

  1. Add the new node to Oracle Grid Infrastructure using gridSetup.sh
  2. Extend the Oracle Database Home using addnode.sh
  3. Add the database instance using DBCA

I have also included real Oracle 19c installer screenshots showing the node selection, prerequisite checks, resolv.conf issue, installation progress, root script execution, and successful completion.


Oracle RAC 19c Environment

For this example, we have an existing RAC node and want to add a second node.

Existing RAC node

DBHOST01
DBHOST02

New RAC node

DBHOST03

Grid Infrastructure Home

/crsapp/app/oracle/product/19c

Oracle Database Home

/oracle/app/oracle/product/19.3.0/dbhome_1

The screenshots used in this article are from a similar Oracle 19c environment where the hostnames and Oracle Home differ slightly. The procedure is the same; always use the paths and hostnames from your own environment.


RAC Environment Before Adding the Node

Initially, the cluster looks like this:

                Oracle RAC 19c
|
+-----------+-----------+
| |
DBHOST01 DBHOST02
Node 1 Node 2
| |
CRS CRS
| |
ASM ASM
| |
RACDB1 RACDB2
| |
+-----------+-----------+
|
Shared Storage
|
Adding Node 3
|
DBHOST03
Node 3
|
CRS
|
ASM
|
RACDB3



RAC Node Addition Workflow

The complete process can be summarized as:

Existing 2-Node Oracle RAC
          |
          +-- DBHOST01 (Node 1)
          |
          +-- DBHOST02 (Node 2)
          |
          v
     Add DBHOST03
       (Node 3)
          |
          v
Prepare DBHOST03
          |
          v
Configure OS, Network & SSH
          |
          v
Add DBHOST03 to Grid Infrastructure
          |
          | gridSetup.sh
          v
Run & Resolve Prerequisite Checks
          |
          v
Verify 3-Node Grid Infrastructure
          |
          v
Extend Oracle Database Home
          |
          | addnode.sh
          v
Verify Oracle Database Home
          |
          v
Add RAC Database Instance
          |
          | DBCA
          v
Verify RACDB3 on DBHOST03
          |
          v
Final 3-Node RAC Validation

1. Prepare the New RAC Node

Before starting the Oracle installer, the new server must be properly prepared.

For our example:

Existing Node : DBHOST01
New Node      : DBHOST03

The new node should have a configuration compatible with the existing RAC node.

The following should be checked before starting:

  • Hostname
  • DNS or /etc/hosts
  • Public network
  • Private RAC interconnect
  • VIP configuration
  • SSH connectivity
  • Operating system packages
  • Oracle users and groups
  • Kernel parameters
  • Resource limits
  • Time synchronization
  • Shared storage
  • Required mount points
  • Grid Infrastructure prerequisites

2. Verify the Hostname

On the new server:

hostname

Expected:

DBHOST03

You can also run:

hostname -f

Make sure the hostname matches the name that will be used by Oracle Clusterware.


3. Check Hostname Resolution

Verify that both nodes can resolve each other.

For example:

getent hosts DBHOST01
getent hosts DBHOST03

You should get the expected IP addresses.

If DNS is not being used, verify the /etc/hosts configuration.

For example:

cat /etc/hosts

Make sure the public and private hostnames are correctly configured.


4. Check the RAC Private Interconnect

Oracle RAC uses a private network for cluster communication.

From DBHOST01, test the private IP of DBHOST03:

ping <DBHOST01-private-IP>

From DBHOST01, test the private IP of DBHOST03:

ping <DBHOST03-private-IP>

The private network should be stable and correctly configured before proceeding.


5. Verify Oracle Users and Groups

The new node should have the required Oracle users and groups.

Check:

id grid

and:

id oracle

The group configuration should be consistent with the existing RAC node.

Typical groups may include:

oinstall
dba
oper
asmadmin
asmdba
asmoper

The exact groups depend on your Oracle RAC configuration.


6. Configure SSH Connectivity

Passwordless SSH is required for the RAC installation process.

From the existing node:

su - grid

Test:

ssh DBHOST03 hostname

Expected:

DBHOST03

Test the reverse connection:

ssh DBHOST03 hostname

Expected:

DBHOST03

You should also test using the oracle user where required.

For example:

su - oracle
ssh DBHOST03 hostname

If SSH asks for a password, fix SSH equivalence before continuing.


7. Verify the Existing RAC Cluster

Before making any changes, verify that the existing RAC cluster is healthy.

Log in as the grid user:

su - grid

Check Clusterware:

crsctl check cluster

Check the existing nodes:

olsnodes -n

At this point, you might see:

DBHOST03        1

Check the cluster resources:

crsctl stat res -t

It is always better to start a node-add operation from a healthy RAC environment.


Part 1 – Add the New Node to Grid Infrastructure

Now we can begin the first major stage: adding DBHOST03 to Oracle Grid Infrastructure.


8. Start gridSetup.sh

Navigate to the Oracle Grid Infrastructure software directory.

For example:

cd /path/to/grid/software

Run:

./gridSetup.sh

The Oracle Grid Infrastructure 19c installer will open.

Select:

Add a new node to the cluster

This tells Oracle that we want to extend the existing Grid Infrastructure installation to another server.


9. Cluster Add Node Information

The installer will ask for the information about the new node.

For our example:

Public Hostname:
DBHOST03

Virtual Hostname:
DBHOST03-vip

The exact VIP name depends on your environment.

You should also provide the appropriate operating system username:

grid

10. Verify Passwordless SSH

During the installation, Oracle checks SSH connectivity between the nodes.

The installer may display a message similar to:

Passwordless SSH connectivity between the selected nodes already established.

Oracle RAC 19c passwordless SSH connectivity

Share

Figure 1 – Passwordless SSH connectivity

This confirms that Oracle can communicate with the selected nodes using the configured SSH keys.

You can manually verify this as well:

ssh DBHOST03 hostname

If everything is correct:

DBHOST03

will be returned.


11. Run Grid Infrastructure Prerequisite Checks

After entering the node information, Oracle performs prerequisite checks.

The installer checks several areas, including:

  • Operating system
  • Network configuration
  • Hostname resolution
  • SSH
  • OS packages
  • Kernel parameters
  • Users and groups
  • DNS
  • /etc/resolv.conf
  • Cluster configuration

This step is important because Oracle can detect configuration problems before the node is added.


12. Example: resolv.conf Integrity Failure

During the installation shown in the screenshots, the following prerequisite failed:

resolv.conf Integrity

The installer showed:

Status: Failed
Fixable: No

Oracle Grid Infrastructure 19c resolv.conf prerequisite check

Share

Figure 2 – resolv.conf Integrity check failure

The installer also identifies the nodes where the check failed.

This check is related to the consistency of:

/etc/resolv.conf

across the cluster.


13. Troubleshooting resolv.conf Integrity

On the affected nodes, check:

cat /etc/resolv.conf

Compare the configuration between the RAC servers.

For example:

ssh DBHOST01 cat /etc/resolv.conf

and:

ssh DBHOST03 cat /etc/resolv.conf

Look for differences in:

nameserver
search
options

Also verify hostname resolution:

getent hosts DBHOST01
getent hosts DBHOST03

and:

nslookup DBHOST01
nslookup DBHOST03

Fix any DNS or resolver configuration issues according to your environment.

Important: Do not blindly copy /etc/resolv.conf from another server. Make sure the DNS configuration is correct for your environment.

After correcting the problem, click Check Again in the installer.


14. Review the Grid Infrastructure Summary

Once the prerequisite checks have passed, Oracle displays a summary of the configuration.

The summary includes information such as:

Grid Home:
 /crsapp/app/oracle/product/19c

Public Host Name:
 DBHOST03

Virtual Host Name:
 DBHOST03-vip

Node Role:
 HUB

The exact values depend on your environment.

Figure 3 – Grid Infrastructure add-node summary

Before clicking Submit, verify:

  • Grid Home
  • Public hostname
  • Virtual hostname
  • Node role
  • Network configuration
  • Selected node

Once everything is correct, click:

Submit

15. Complete the Grid Infrastructure Installation

Oracle will now configure the new node.

The process can be visualized as:

Depending on the configuration, the installer may ask you to run configuration scripts as root.

Always use the exact script and path provided by the installer.

./root.sh
Check /u01/app/19.0.0.0/grid/install/root_dbadm03._2026-09-02_13-13-18-466574252.log for the output of root script
[root@drracx9dbadm03 grid]#




[root@drracx9dbadm03 ~]# cat /u01/app/19.0.0.0/grid/install/root_dbadm03._2026-09-02_13-13-18-466574252.log
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/19.0.0.0/grid
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Using configuration parameter file: /u01/app/19.0.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/grid/crsdata/dbadm03/crsconfig/rootcrs_dbadm03_2026-09-02_01-13-22PM.log
2026/09/02 13:13:23 CLSRSC-594: Executing installation step 1 of 19: 'ValidateEnv'.
2026/09/02 13:13:23 CLSRSC-363: User ignored prerequisites during installation
2026/09/02 13:13:23 CLSRSC-594: Executing installation step 2 of 19: 'CheckFirstNode'.
2026/09/02 13:13:24 CLSRSC-594: Executing installation step 3 of 19: 'GenSiteGUIDs'.
2026/09/02 13:13:24 CLSRSC-594: Executing installation step 4 of 19: 'SetupOSD'.
Redirecting to /bin/systemctl restart rsyslog.service
2026/09/02 13:13:25 CLSRSC-594: Executing installation step 5 of 19: 'CheckCRSConfig'.
2026/09/02 13:13:25 CLSRSC-594: Executing installation step 6 of 19: 'SetupLocalGPNP'.
2026/09/02 13:13:26 CLSRSC-594: Executing installation step 7 of 19: 'CreateRootCert'.
2026/09/02 13:13:26 CLSRSC-594: Executing installation step 8 of 19: 'ConfigOLR'.
2026/09/02 13:13:34 CLSRSC-594: Executing installation step 9 of 19: 'ConfigCHMOS'.
2026/09/02 13:13:34 CLSRSC-594: Executing installation step 10 of 19: 'CreateOHASD'.
2026/09/02 13:13:34 CLSRSC-594: Executing installation step 11 of 19: 'ConfigOHASD'.
2026/09/02 13:13:38 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2026/09/02 13:13:53 CLSRSC-594: Executing installation step 12 of 19: 'SetupTFA'.
2026/09/02 13:13:53 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2026/09/02 13:13:53 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
2026/09/02 13:13:59 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.
2026/09/02 13:13:59 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
2026/09/02 13:14:06 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
2026/09/02 13:14:43 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
2026/09/02 13:16:07 CLSRSC-343: Successfully started Oracle Clusterware stack
2026/09/02 13:16:07 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
clscfg: EXISTING configuration version 19 detected.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
2026/09/02 13:16:15 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
PRCR-1013 : Failed to start resource ora.LISTENER_DG.lsnr

PRCR-1064 : Failed to start resource ora.LISTENER_DG.lsnr on node dbadm03

CRS-2805: Unable to start 'ora.LISTENER_DG.lsnr' because it has a 'hard' dependency on resource type 'ora.cluster_vip_net2.type' and no resource of that type can satisfy the dependency

CRS-2525: All instances of the resource 'ora.dbadm01_2.vip' are already running; relocate is not allowed because the force option was not specified

CRS-2525: All instances of the resource 'ora.dbadm02_2.vip' are already running; relocate is not allowed because the force option was not specified

2026/09/02 13:16:18 CLSRSC-180: An error occurred while executing the command '/u01/app/19.0.0.0/grid/bin/srvctl start listener -n dbadm03'
2026/09/02 13:16:19 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

16. Verify the Grid Infrastructure Node

After the installation completes, log in as grid.

Run:

olsnodes -n

You should now see:

DBHOST01        1
DBHOST03        3

This confirms that the new node has been added to the cluster.

Also run:

crsctl check cluster

and:

crsctl stat res -t

Check ASM:

srvctl status asm

And the listener:

srvctl status listener

Part 2 – Extend the Oracle Database Home

The Grid Infrastructure node addition is only the first part.

Now we need to make the Oracle Database software available on the new RAC node.

Our Oracle Home is:

/oracle/app/oracle/product/19.3.0/dbhome_1

The screenshots in this section show a similar environment using:

/u01/app/oracle/product/19.0.0/dbhome_1

The procedure is the same.


17. Run addnode.sh

Log in to the existing RAC node as the oracle user.

Set the Oracle Home:

export ORACLE_HOME=/oracle/app/oracle/product/19.3.0/dbhome_1

Go to the addnode directory:

cd $ORACLE_HOME/addnode

Check the script:

ls -l addnode.sh

Then run:

./addnode.sh

This starts the Oracle Database 19c node-addition process.


18. Select the New Node

The first screen is the Node Selection screen.

Oracle displays the cluster nodes and allows you to select the node where the Oracle Database Home should be installed.

Figure 4 – Oracle Database 19c Node Selection

Select the new node.

The installer also provides:

SSH connectivity...

which can be used to verify communication with the selected node.

Once the correct node has been selected, click:

Next

19. Database Home Prerequisite Checks

Oracle will now perform prerequisite checks for the Database Home installation.

The installer may identify issues similar to the Grid Infrastructure prerequisite checks.

In the provided screenshot, the following check failed:

resolv.conf Integrity

Oracle Database 19c prerequisite checks

Share

Figure 5 – Oracle Database 19c prerequisite checks

Again, check:

cat /etc/resolv.conf

on the affected servers.

Compare:

ssh DBHOST01 cat /etc/resolv.conf

with:

ssh DBHOST03 cat /etc/resolv.conf

Correct the underlying configuration before continuing.


20. Review the Database Home Summary

After the prerequisite checks are complete, Oracle displays the installation summary.

The summary shows the software location and the cluster node information.

For example:

Software Location:
/u01/app/oracle/product/19.0.0/dbhome_1

Cluster New Public Host Name:
DBHOST03

Figure 6 – Oracle Database Home add-node summary

Verify the Oracle Home and target node carefully.

If everything is correct, click:

Submit

21. Copy Oracle Database Home to the New Node

Oracle now starts copying the Database Home to the remote node.

The installer displays progress such as:

Prepare Configuration
Copy Files to Remote Nodes
Oracle Addnode Configuration
Instantiate files
Saving cluster inventory
Setup Oracle Base
Execute Root Scripts

Figure 7 – Oracle Database Home being copied to the new node

This step may take some time because the Oracle Home contains a large number of files.

Do not interrupt the installation while the files are being copied.


22. Execute the Root Configuration Script

At the end of the Database Home installation, Oracle may request a root script.

The installer displays the script and the node where it should be executed.

Figure 8 – Execute Oracle Database root configuration script

The installer provides instructions:

1. Open a terminal window
2. Login as "root"
3. Run the scripts
4. Return to this window and click "OK"

Open another terminal and switch to root:

su -

Then execute the exact script shown by the installer.

For example, the installer may show something similar to:

/u01/app/oracle/product/19.0.0/dbhome_1/root.sh

The actual path may be different in your environment.

./root.sh
Performing root user operation.
 
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/19.0.0.0/dbhome_1
 
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.
 
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

Always use the command displayed by your installer.

After the script finishes successfully, return to the installer and click OK.


23. Wait for All Installation Tasks to Complete

The installer should now continue through the remaining tasks.

You want to see the operations reported as:

Succeeded

For example:

Prepare Configuration          Succeeded
Copy Files to Remote Nodes     Succeeded
Oracle Addnode Configuration   Succeeded
Instantiate files              Succeeded
Saving cluster inventory       Succeeded
Setup Oracle Base              Succeeded
Execute Root Scripts           Succeeded

Once these operations complete, the Oracle Database Home has been successfully extended to the new node.


24. Successful Database Home Node Addition

The final installer screen confirms:

The node addition of Oracle Database was successful.

Figure 9 – Oracle Database node addition successfully completed

The installer also provides an important note about using DBCA to add the database instance.

This is an important point:

addnode.sh adds the Oracle Database software to the new node. It does not automatically create the database instance.

The next step is DBCA.


25. Verify the Oracle Home on DBHOST03

Log in to the new node as the oracle user.

Check:

echo $ORACLE_HOME

Expected:

/oracle/app/oracle/product/19.3.0/dbhome_1

Verify:

ls -ld $ORACLE_HOME

Check the Oracle inventory:

$ORACLE_HOME/OPatch/opatch lsinventory

You should see the expected Oracle Database version and installed patches.


26. Verify the Oracle Database Version

Run:

$ORACLE_HOME/OPatch/opatch version

You can also check the Oracle executable:

$ORACLE_HOME/bin/oracle -v

This confirms that the expected Oracle software is installed on the new node.


Part 3 – Add the Database Instance Using DBCA

At this point:

Grid Infrastructure
       |
       +-- DBHOST01
       +-- DBHOST02
       +-- DBHOST03

Oracle Database Home
       |
       +-- DBHOST01
       +-- DBHOST02
       +-- DBHOST03

The remaining step is to add the database instance.


27. Start DBCA

As the oracle user:

dbca

Select:

Oracle Real Application Clusters database

Then select the database instance management option.

Choose:

Add an instance

Select the existing RAC database.

For example:

Database:
PROD

Then select:

DBHOST03

DBCA will configure the new database instance on the new RAC node.


28. Understand the Difference Between addnode.sh and DBCA

This is worth emphasizing because it is a common point of confusion.

gridSetup.sh

Adds the server to:

Oracle Grid Infrastructure

addnode.sh

Extends:

Oracle Database Home

DBCA

Creates/configures:

Database Instance

So:

gridSetup.sh
     ↓
Grid Infrastructure
     ↓
addnode.sh
     ↓
Oracle Database Home
     ↓
DBCA
     ↓
Database Instance

Completing only gridSetup.sh and addnode.sh does not mean that the database is running on the new node.


29. Verify the Database Configuration

After DBCA completes, check the RAC database configuration.

srvctl config database -d RACDB

Then:

srvctl status database -d RACDB

Expected output should be similar to:

Instance RACDB1 is running on node DBHOST01
Instance RACDB2 is running on node DBHOST03

30. Check RAC Services

Check the database services:

srvctl status service -d RACDB

Check service configuration:

srvctl config service -d RACDB

Make sure the services are configured correctly for the new RAC node.

For example:

APP_SERVICE

Preferred:
    RACDB1
    RACDB2

The actual service configuration will depend on your application requirements.


31. Verify the RAC Instances From SQL

Connect to the database:

sqlplus / as sysdba

Run:

SELECT INST_ID,
       INSTANCE_NAME,
       HOST_NAME,
       STATUS
FROM GV$INSTANCE
ORDER BY INST_ID;

Expected output:

INST_ID  INSTANCE_NAME  HOST_NAME   STATUS
-------  -------------  ----------  -------
1        RACDB1         DBHOST01    OPEN
2        RACDB2         DBHOST03    OPEN

This confirms that the database is running across both RAC nodes.


32. Final RAC Health Check

Once the new instance has been added, perform a complete health check.

Check RAC nodes

olsnodes -n

Expected:

DBHOST01        1
DBHOST03        3

Check Clusterware

crsctl check cluster

Check cluster resources

crsctl stat res -t

Check ASM

srvctl status asm

Check listener

srvctl status listener

Check database

srvctl status database -d RACDB

Check services

srvctl status service -d RACDB

Check instances

SELECT INST_ID,
       INSTANCE_NAME,
       HOST_NAME,
       STATUS
FROM GV$INSTANCE
ORDER BY INST_ID;

33. Final RAC Architecture

After successfully completing all three stages, the environment should look like this:

      |
      +---------------+---------------+
      |               |               |
  DBHOST01        DBHOST02        DBHOST03
   Node 1          Node 2          Node 3
      |               |               |
   RACDB1          RACDB2          RACDB3
      |               |               |
      +---------------+---------------+
                      |
                Shared Storage

Complete Node Addition Flow

Here is the complete process in one place:

Existing RAC
   |
   +-- DBHOST01 (Node 1)
   |
   +-- DBHOST02 (Node 2)
   |
   +-- DBHOST03 (Node 3) ← New
             |
             v
      gridSetup.sh
             |
             v
   Add Node 3 to Grid Infrastructure
             |
             v
        addnode.sh
             |
             v
   Extend Database Home to Node 3
             |
             v
           DBCA
             |
             v
       Create RACDB3
             |
             v
      3-Node Oracle RAC

Common Issues During RAC Node Addition

1. SSH Connectivity Failure

Check:

ssh DBHOST03 hostname

If authentication fails, verify SSH keys and permissions.


2. resolv.conf Integrity Failure

Check:

cat /etc/resolv.conf

Compare the file across the RAC nodes.

Also test:

getent hosts DBHOST01
getent hosts DBHOST03

3. Node Does Not Appear in olsnodes

Run:

olsnodes -n

If the new node does not appear, investigate the Grid Infrastructure installation before moving to the Database Home stage.


4. Oracle Home Missing on the New Node

Check:

echo $ORACLE_HOME

Then:

ls -ld $ORACLE_HOME

If the Oracle Home is missing, review the addnode.sh installation logs.


5. Database Instance Does Not Start

Check:

srvctl status database -d RACDB

Then check the cluster resources:

crsctl stat res -t

Also check the database alert log on the new node.


Important Best Practices

Before adding a RAC node, always make sure the existing cluster is healthy.

I recommend following this order:

1. Check existing RAC health
2. Prepare new OS
3. Verify networking
4. Verify SSH
5. Run gridSetup.sh
6. Resolve prerequisite failures
7. Verify Grid Infrastructure
8. Run addnode.sh
9. Verify Oracle Home
10. Run DBCA
11. Verify database instance
12. Verify services
13. Perform final RAC health check

Avoid jumping directly from gridSetup.sh to DBCA without verifying the intermediate layers.


Key Difference Between the Three Tools

ToolPurpose
gridSetup.shAdd the server to Grid Infrastructure
addnode.shExtend Oracle Database Home
DBCAAdd/configure the database instance

The relationship is:

gridSetup.sh
     ↓
Grid Infrastructure
     ↓
addnode.sh
     ↓
Oracle Database Home
     ↓
DBCA
     ↓
Database Instance

Conclusion

Adding a node to Oracle RAC 19c is a multi-stage process, but it becomes much easier to manage when each stage is treated separately.

First, prepare the new server and make sure the network, SSH, OS, and DNS configuration are correct.

Then use:

./gridSetup.sh

to add the new server to Grid Infrastructure.

Once the Grid Infrastructure node is working, extend the Oracle Database Home:

./addnode.sh

Finally, use:

dbca

to add the database instance to the new RAC node.

The final verification should confirm:

DBHOST01  → RACDB1
DBHOST03  → RACDB2

with both instances OPEN and the required RAC services running correctly.

The most important lesson is to verify every layer before moving to the next one:

OS / Network
      ↓
SSH
      ↓
Grid Infrastructure
      ↓
Oracle Database Home
      ↓
Database Instance
      ↓
Services
      ↓
Final RAC Validation

This approach makes Oracle RAC 19c node addition much easier to troubleshoot and gives you a clear path when something fails during the installation.

Tags: grid infrastructureOracle DatabaseOracle DBCAOracle RAC 19cRAC Node Addition
Previous Post

Oracle RAC Node Addition Failed with INS-32156 Due to AHF Permissions

Next Post

Oracle GI MRP 23.26.3.0.0 Sep 2026: Patch 39971287 Installation Guide and OPatchAuto Analysis

Next Post
Oracle GI MRP 23.26.3.0.0 Sep 2026: Patch 39971287 Installation Guide and OPatchAuto Analysis

Oracle GI MRP 23.26.3.0.0 Sep 2026: Patch 39971287 Installation Guide and OPatchAuto Analysis

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

POPULAR NEWS

  • Oracle Patch 38632161: Step-by-Step Guide to Upgrade Oracle 19c to Release Update 19.30

    Oracle Patch 38632161: Step-by-Step Guide to Upgrade Oracle 19c to Release Update 19.30

    0 shares
    Share 0 Tweet 0
  • How To Download And Install The Latest OPatch

    0 shares
    Share 0 Tweet 0
  • How to Install Oracle 19c Database on Red Hat Enterprise Linux 9

    0 shares
    Share 0 Tweet 0
  • Oracle Database 19.32 Release Update (RU) Patching Guide – Patch 39472050

    0 shares
    Share 0 Tweet 0
  • Installing Oracle Database 26AI on Red Hat Enterprise Linux 9

    0 shares
    Share 0 Tweet 0
  • About Us
  • Contact

© 2026 DBAInsight - Smarter Databases. Sharper Insights. DBAInsight.

No Result
View All Result
  • Home
  • Cloud & Modern DBs
  • Guides
  • Cloud Technology
  • Case Studies
  • Troubleshooting
  • Training & Certification

© 2026 DBAInsight - Smarter Databases. Sharper Insights. DBAInsight.

Add as a preferred source on Google
Add as preferred source on Google