How to Delete RAC Node in Oracle 19c – Step-by-Step Guide

In a recent blog, I shared how we added a node back into an Oracle RAC 19c cluster after a hardware failure and recovery cycle. This post looks at the other side of that story — deleting a RAC Node. Specifically, we’ll walk through how Node 1 was removed from the cluster, the backups that need to be taken, the deconfiguration steps, and the clean-up required to prepare the server for node addition

Step 1: Preparing for Deleting RAC Node in Oracle 19c

Before deconfiguring, backup the software and save a copy of critical files from Node 1:

  • Listener configuration files
  • Init files for any standalone instance
  • SSL certificates or wallets
  • Network configuration files
  • OraInventory Location – e.g. /u01/app/oracle/oraInventory directory
  • Backup GI & RDBMS Homes
  • Backup important OS config files
    • /etc/oratab
    • /etc/hosts
    • Network configuration files

Stpe 2: Detaching the RDBMS Home on Node 1

Node 1 still has an RDBMS home, so first clean up the central inventory to avoid issues during future reconfiguration. After you detach the home, delete it.

Check for the ORACLE_HOME_NAME

grep "HOME NAME" /u01/app/oraInventory/ContentsXML/inventory.xml|egrep "db|19c" 
<HOME NAME="OraDB19Home1" LOC="/u01/oracle/product/19c/db_1" TYPE="O" IDX="2"/>
[oracle@host]/u01/oracle/product>

ls $ORACLE_HOME/oui/bin/runInstaller

$ORACLE_HOME/oui/bin/runInstaller -silent -detachHome ORACLE_HOME="/u01/oracle/product/19c/db_1" ORACLE_HOME_NAME="OraDB19Home1"
Starting Oracle Universal Installer...

cd /u01/oracle/product/19c/
rm -rf db_1

Verify that the RAC database ORACLE_HOME was removed from the inventory

less /u01/app/oraInventory/ContentsXML/inventory.xml

<HOME NAME="OraDB19Home1" LOC="/u01/oracle/product/19c/db_1" TYPE="O" IDX="2" REMOVED="T"/>

Step 3: Deconfigure Clusterware on Node 1

Connect to Node 1 as the root user, then run rootcrs.sh to deconfigure the node. After that, be careful and run the local deinstallation.

. oraenv <<< +ASM1

cd $ORACLE_HOME/crs/install

./rootcrs.sh -deconfig -force -verbose

cd $ORACLE_HOME/deinstall

./deinstall -local

Step 4: Clean-up Files and Directories

Delete the following files and directories from Node 1, and back up the critical ones before removal.

rm -rf $GI_home     
rm -rf $ORACLE_HOME 
rm -rf /etc/oracle 
rm -rf /var/tmp/.oracle 
rm -f /etc/oraInst.loc 
rm -f ora_inventory_location # Backup needed
rm -f /etc/oratab # Backup needed

Step 5: Update Cluster Configuration

Log in to Node 2 as the Oracle user, then remove the node configurations.

. oraenv <<< +ASM2
# to list the nodes
olsnodes 

##Delete the node that was just deconfigured
crsctl delete node -n node1

# Stop and delete the VIP for node 1
srvctl config nodeapps -a
srvctl stop vip -vip node1-vip
srvctl remove vip -vip node1-vip

Step 6: Validate Node Deletion

Run cluvfy to validate that node 1 has been successfully removed:

$ORACLE_HOME/cluvfy stage -post nodedel -n node1

The successful output will confirm the CRS Integrity, Clusterware Version Consistency, and Node Removal status as PASSED.

Once the node was cleaned up it and OS was resinstalled, we added the node back. You can follow this blog for the detailed reconfiguration steps


Discover more from oratrails-aish

Subscribe to get the latest posts sent to your email.