How To Delete A Node From Oracle RAC 19C
How To Delete A Node From Oracle RAC 19C
dbaclass.com/article/how-to-delete-a-node-from-oracle-rac-19c
This tutorial explains how to delete a node from a multi node grid infrastructure setup.
STEPS OVERVIEW:
Precheck
Delete the instance from DBHOST4 using dbca
Deinstall the oracle database home from DBHOST4
Deinstall grid infrastructure home from DBHOST4
Delete clusterware config
Postcheck
1. PRECHECK
1/21
[oracle@DBHOST3 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE DBHOST3 STABLE
ONLINE ONLINE DBHOST4 STABLE
ora.MGMT.GHCHKPT.advm
OFFLINE OFFLINE DBHOST3 STABLE
OFFLINE OFFLINE DBHOST4 STABLE
ora.chad
ONLINE ONLINE DBHOST3 STABLE
ONLINE ONLINE DBHOST4 STABLE
ora.helper
OFFLINE OFFLINE DBHOST3 STABLE
OFFLINE OFFLINE DBHOST4 IDLE,STABLE
ora.mgmt.ghchkpt.acfs
OFFLINE OFFLINE DBHOST3 STABLE
OFFLINE OFFLINE DBHOST4 STABLE
ora.net1.network
ONLINE ONLINE DBHOST3 STABLE
ONLINE ONLINE DBHOST4 STABLE
ora.ons
ONLINE ONLINE DBHOST3 STABLE
ONLINE ONLINE DBHOST4 STABLE
ora.proxy_advm
OFFLINE OFFLINE DBHOST3 STABLE
OFFLINE OFFLINE DBHOST4 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ARCH.dg(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE ONLINE DBHOST4 STABLE
3 OFFLINE OFFLINE STABLE
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE ONLINE DBHOST4 STABLE
3 ONLINE OFFLINE STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE ONLINE DBHOST4 STABLE
3 OFFLINE OFFLINE STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE DBHOST4 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE DBHOST3 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE DBHOST3 STABLE
ora.MGMT.dg(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE ONLINE DBHOST4 STABLE
3 OFFLINE OFFLINE STABLE
ora.OCRVD.dg(ora.asmgroup)
2/21
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE ONLINE DBHOST4 STABLE
3 OFFLINE OFFLINE STABLE
ora.REDOA.dg(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE ONLINE DBHOST4 STABLE
3 OFFLINE OFFLINE STABLE
ora.REDOB.dg(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE ONLINE DBHOST4 STABLE
3 OFFLINE OFFLINE STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 Started,STABLE
2 ONLINE ONLINE DBHOST4 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE ONLINE DBHOST4 STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE DBHOST3 STABLE
ora.DBHOST3.vip
1 ONLINE ONLINE DBHOST3 STABLE
ora.DBHOST4.vip
1 ONLINE ONLINE DBHOST4 STABLE
ora.mgmtdb
1 ONLINE ONLINE DBHOST4 Open,STABLE
ora.lrmprod.db
1 ONLINE ONLINE DBHOST3 Open,HOME=/oracle/ap
p/oracle/product/19.
3.0/dbhome_1,STABLE
2 ONLINE ONLINE DBHOST4 Open,HOME=/oracle/ap
p/oracle/product/19.
3.0/dbhome_1,STABLE
ora.qosmserver
1 ONLINE ONLINE DBHOST4 STABLE
ora.rhpserver
1 OFFLINE OFFLINE STABLE
ora.scan1.vip
1 ONLINE ONLINE DBHOST4 STABLE
ora.scan2.vip
1 ONLINE ONLINE DBHOST3 STABLE
ora.scan3.vip
1 ONLINE ONLINE DBHOST3 STABLE
--------------------------------------------------------------------------------
3/21
[oracle@DBHOST3 ~]$ crsctl status resource -w "TYPE = ora.database.type" -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.lrmprod.db
1 ONLINE ONLINE DBHOST3 Open,HOME=/oracle/ap
p/oracle/product/19.
3.0/dbhome_1,STABLE
2 ONLINE ONLINE DBHOST4 Open,HOME=/oracle/ap
p/oracle/product/19.
3.0/dbhome_1,STABLE
--------------------------------------------------------------------------------
[oracle@DBHOST03~] cd $ORACLE_HOME/bin
[oracle@DBHOST03~]./dbca
4/21
5/21
6/21
7/21
Instance successfully deleted. Now proceed with deinstalling the oracle db home.
8/21
[oracle@DBHOST4]$ cd $ORACLE_HOME/deinstall
[oracle@DBHOST4 deinstall]$ ./deinstall -local
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /tmp/deinstall2021-06-22_12-10-54PM/logs/
Specify the list of database names that are configured locally on this node for this
Oracle home. Local configurations of the discovered databases will be removed []:
Database Check Configuration END
9/21
######################## DECONFIG CLEAN OPERATION START ########################
Database de-configuration trace file location: /tmp/deinstall2021-06-22_12-10-
54PM/logs/databasedc_clean2021-06-22_12-11-02PM.log
10/21
26-25/machine-readable'. Either user has no permission to delete or it is in use.
Failed to delete the directory
'/oracle/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/opatchautodb/driver/2021-06-21-14-
26-25/.tmp'. Either user has no permission to delete or it is in use.
Delete directory '/oracle/app/oracle/product/19.3.0/dbhome_1' on the local node : Failed
<<<<
Run 'rm -r /etc/oraInst.loc' as root on node(s) 'DBHOST4' at the end of the session.
Run 'rm -r /opt/ORCLfmap' as root on node(s) 'DBHOST4' at the end of the session.
Review the permissions and contents of '/oracle/app/oracle' on nodes(s) 'DBHOST4'.
If there are no Oracle home(s) associated with '/oracle/app/oracle', manually delete
'/oracle/app/oracle' and its contents.
Oracle deinstall tool successfully cleaned up temporary directories.
#######################################################################
[oracle@DBHOST4 deinstall]$
Few error like failed to delete directory got reported. We can delete those directories manually.
11/21
[oracle@DBHOST4]$ rm -rf /oracle/app/oracle
[oracle@DBHOST3]./gridSetup.sh
12/21
13/21
14/21
RUN ON NODE2:
15/21
[root@DBHOST4 ~]# /crsapp/app/oracle/product/19c/crs/install/rootdeinstall.sh
Using configuration parameter file: /tmp/deinstall_OraGI19Home1.rsp
The log of current session can be found at:
/crsapp/app/oraInventory/logs/crsdeconfig_DBHOST4_2021-06-22_12-02-56AM.log
Redirecting to /bin/systemctl restart rsyslog.service
2021/06/22 12:04:18 CLSRSC-4006: Removing Oracle Trace File Analyzer (TFA) Collector.
2021/06/22 12:04:18 CLSRSC-4007: Successfully removed Oracle Trace File Analyzer (TFA)
Collector.
2021/06/22 12:04:19 CLSRSC-336: Successfully deconfigured Oracle Clusterware stack on this
node
Checking for required files and bootstrapping ...
Please wait ...
Using properties file /tmp/deinstall_OraGI19Home1.rsp
Location of logs /crsapp/app/oraInventory/logs/
16/21
user has no permission to delete or it is in use.
Failed to delete the directory
'/crsapp/app/oracle/product/19c/tfa/DBHOST4/tfa_home/tomcat/webapps/tfa/css/codeMirror'.
Either user has no permission to delete or it is in use.
Failed to delete the directory
'/crsapp/app/oracle/product/19c/tfa/DBHOST4/tfa_home/tomcat/webapps/tfa/css'. The
directory is not empty.
Failed to delete the directory
'/crsapp/app/oracle/product/19c/tfa/DBHOST4/tfa_home/tomcat/webapps/tfa'. The directory is
not empty.
Failed to delete the directory
'/crsapp/app/oracle/product/19c/tfa/DBHOST4/tfa_home/tomcat/webapps'. The directory is not
empty.
Failed to delete the directory
'/crsapp/app/oracle/product/19c/tfa/DBHOST4/tfa_home/tomcat'. The directory is not empty.
Failed to delete the directory '/crsapp/app/oracle/product/19c/tfa/DBHOST4/tfa_home'. The
directory is not empty.
Failed to delete the directory '/crsapp/app/oracle/product/19c/tfa/DBHOST4'. The directory
is not empty.
Failed to delete the directory '/crsapp/app/oracle/product/19c/tfa'. The directory is not
empty.
Failed to delete the directory '/crsapp/app/oracle/product/19c'. The directory is not
empty.
Delete directory '/crsapp/app/oracle/product/19c' on the local node : Failed <<<<
17/21
Review the permissions and contents of '/crsapp/app/oracle_base' on nodes(s) 'DBHOST4'.
If there are no Oracle home(s) associated with '/crsapp/app/oracle_base', manually delete
'/crsapp/app/oracle_base' and its contents.
Oracle deinstall tool successfully cleaned up temporary directories.
#######################################################################
Deinstall script might fail to delete few file/directories. So we can delete them manually.
rm -rf /crsapp/app/oracle/product/19c
rm -rf /crsapp/app/oracle_base
6. POSTCHECK:
18/21
Run cluvfy postcheck script
19/21
[oracle@DBHOST3 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE DBHOST3 STABLE
ora.MGMT.GHCHKPT.advm
OFFLINE OFFLINE DBHOST3 STABLE
ora.chad
ONLINE ONLINE DBHOST3 STABLE
ora.helper
OFFLINE OFFLINE DBHOST3 STABLE
ora.mgmt.ghchkpt.acfs
OFFLINE OFFLINE DBHOST3 STABLE
ora.net1.network
ONLINE ONLINE DBHOST3 STABLE
ora.ons
ONLINE ONLINE DBHOST3 STABLE
ora.proxy_advm
OFFLINE OFFLINE DBHOST3 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ARCH.dg(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE OFFLINE STABLE
3 OFFLINE OFFLINE STABLE
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE OFFLINE STABLE
3 ONLINE OFFLINE STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE OFFLINE STABLE
3 OFFLINE OFFLINE STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE DBHOST3 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE DBHOST3 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE DBHOST3 STABLE
ora.MGMT.dg(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE OFFLINE STABLE
3 OFFLINE OFFLINE STABLE
ora.OCRVD.dg(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE OFFLINE STABLE
3 OFFLINE OFFLINE STABLE
ora.REDOA.dg(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE OFFLINE STABLE
3 OFFLINE OFFLINE STABLE
ora.REDOB.dg(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
20/21
2 ONLINE OFFLINE STABLE
3 OFFLINE OFFLINE STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 Started,STABLE
2 ONLINE OFFLINE STABLE
3 OFFLINE OFFLINE STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE DBHOST3 STABLE
2 ONLINE OFFLINE STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE DBHOST3 STABLE
ora.DBHOST3.vip
1 ONLINE ONLINE DBHOST3 STABLE
ora.mgmtdb
1 ONLINE ONLINE DBHOST3 Open,STABLE
ora.lrmprod.db
1 ONLINE ONLINE DBHOST3 Open,HOME=/oracle/ap
p/oracle/product/19.
3.0/dbhome_1,STABLE
ora.qosmserver
1 ONLINE ONLINE DBHOST3 STABLE
ora.rhpserver
1 OFFLINE OFFLINE STABLE
ora.scan1.vip
1 ONLINE ONLINE DBHOST3 STABLE
ora.scan2.vip
1 ONLINE ONLINE DBHOST3 STABLE
ora.scan3.vip
1 ONLINE ONLINE DBHOST3 STABLE
--------------------------------------------------------------------------------
21/21