Unconfigure Oracle 18c Clusterware Without Removing Binaries

We might encounter an error on one or more cluster nodes during installation when running the root.sh command, such as a missing operating system package on one node. By running “rootcrs.sh -deconfig -force” on nodes where you encounter an installation error, you can unconfigure Oracle Clusterware on those nodes, correct the cause of the error, and then run root.sh again.

[root@racnode1 install]# cd /u01/app/18.0.0/grid/crs/install
[root@racnode1 install]# ./rootcrs.sh -deconfig -force
Using configuration parameter file: /u01/app/18.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/racnode1/crsconfig/crsdeconfig_racnode1_2020-03-12_09-58-18PM.log
PRCR-1070 : Failed to check if resource ora.net1.network is registered
CRS-0184 : Cannot communicate with the CRS daemon.
PRCR-1070 : Failed to check if resource ora.helper is registered
CRS-0184 : Cannot communicate with the CRS daemon.
PRCR-1070 : Failed to check if resource ora.ons is registered
CRS-0184 : Cannot communicate with the CRS daemon.

2020/03/12 21:58:25 CLSRSC-180: An error occurred while executing the command '/u01/app/18.0.0/grid/bin/srvctl config nodeapps'
2020/03/12 21:58:36 CLSRSC-336: Successfully deconfigured Oracle Clusterware stack on this node
[root@racnode1 install]# ls -ltr /u01/app/grid/crsdata/racnode1/crsconfig/crsdeconfig_racnode1_2020-03-12_09-58-18PM.log
-rw-rw-r-- 1 grid oinstall 45152 Mar 12 21:58 /u01/app/grid/crsdata/racnode1/crsconfig/crsdeconfig_racnode1_2020-03-12_09-58-18PM.log
[root@racnode1 install]#

crsdeconfig_racnode1_2020-03-12_09-58-18PM.log

root.sh Failed with “CLSRSC-670: No msg for has:clsrsc-670” When Adding a Node

While adding a node by running ‘root.sh’ in 12.1.0.2, the following errors occurred:

# /u01/app/12.1.0.2/grid/root.sh
Check /u01/app/12.1.0.2/grid/install/root_racnode2_2018-01-26_23-56-
01.log for the output of root script

#cat /u01/app/12.1.0.2/grid/install/root_racnode2_2018-01-26_23-56-01.log
Performing root user operation.

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

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/12.1.0.2/grid/crs/
install/crsconfig_params
2018/01/26 23:56:02 CLSRSC-4001: Installing Oracle Trace File 
Analyzer (TFA) Collector.

2018/01/26 23:56:02 CLSRSC-4002: Successfully installed Oracle Trace 
File Analyzer (TFA) Collector.

2018/01/26 23:56:02 CLSRSC-670: No msg for has:clsrsc-670
Died at /u01/app/12.1.0.2/grid/crs/install/crsinstall.pm line 3800.

The command '/u01/app/12.1.0.2/grid/perl/bin/perl -I/u01/app/12.1.0.2
/grid/perl/lib -I/u01/app/12.1.0.2/grid/crs/install /u01/app/12.1.0.2
/grid/crs/install/rootcrs.pl ' execution failed
#

Check rootcrs log under GI_HOME/cfgtoollogs/crsconfig:

$cd /u01/app/12.1.0.2/grid/cfgtoollogs/crsconfig $ tail -30 rootcrs_racnode2_2018-01-26_11-56-02PM.log > > Installed Build Version: 122120 Build Date: 201708280807 > > TFA-00022: TFA is already running latest version. No need to patch. > >End Command output 
2018-01-26 23:56:02: Executing cmd: /u01/app/12.1.0.2/grid/bin/clsecho -p has -f clsrsc -m 4002 
2018-01-26 23:56:02: Executing cmd: /u01/app/12.1.0.2/grid/bin/clsecho -p has -f clsrsc -m 4002 
2018-01-26 23:56:02: Command output: > CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector. >End Command output 
2018-01-26 23:56:02: CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector. 
2018-01-26 23:56:02: The install script root.sh was run on an upgraded node. 
2018-01-26 23:56:02: Executing cmd: /u01/app/12.1.0.2/grid/bin/clsecho -p has -f clsrsc -m 670 
2018-01-26 23:56:02: Executing cmd: /u01/app/12.1.0.2/grid/bin/clsecho -p has -f clsrsc -m 670 
2018-01-2623:56:02: Command output: > CLSRSC-670: No msg for has:clsrsc-670 >End Command output 
2018-01-26 23:56:02: CLSRSC-670: No msg for has:clsrsc-670 
2018-01-26 23:56:02: ###### Begin DIE Stack Trace ###### 
2018-01-26 23:56:02: Package File Line Calling 
2018-01-26 23:56:02: --------------- -------------------- ---- ---------- 2018-01-26 23:56:02: 1: main rootcrs.pl 267 crsutils::dietrap 
2018-01-26 23:56:02: 2: crsinstall crsinstall.pm 3800 main::__ANON__ 
2018-01-26 23:56:02: 3: crsinstall crsinstall.pm 380 rsinstall::preInstallChecks 
2018-01-26 23:56:02: 4: crsinstall crsinstall.pm 318 crsinstall::CRSInstall 2018-01-26 23:56:02: 5: main rootcrs.pl 410 crsinstall::new 
2018-01-26 23:56:02: ####### End DIE Stack Trace ####### 
2018-01-26 23:56:02: checkpoint has failed

Raised a SR to Oracle Support who advised this is a bug — “Bug 26200970 : LNX64-12202-UD:FAILED TO ADD NODE AFTER UPGRADING FROM 11204 TO 12202”.

Bug 26200970 fixed in 18.1

WORKAROUND

Take backup of crsconfig_params file inside GI_HOME/crs/install,  then change the value for ASM_UPGRADE=false and re-run root.sh successfully.

How to Find Out Oracle Clusterware Cluster Name ?

For 12c GI, cluster name is SCAN name by default with “Typical Install”, cluster name can only be customized in “Advanced installation”.

The cluster name is case-insensitive, must be unique across your enterprise, must be at least one character long and no more than 15 characters in length, must be alphanumeric, cannot begin with a numeral, and may contain hyphens (-). Underscore characters (_) are not allowed.

For 12c,  the SCAN is the name of the cluster , If you configure a Standard cluster, and choose a Typical install.

In an Advanced installation, The SCAN and cluster name are entered in separate fields during installation. So you can choose and give cluster name only in “Advanced installation”.

Select cluster name carefully. After installation, you can only change the cluster name by reinstalling Oracle Grid Infrastructure.

Here are a couple of ways to find Oracle Clusterware cluster name:

a) Run “cemutlo” command under GI_HOME/bin.

$cd /u01/app/12.1.0.2/grid/bin
$./cemutlo -n
RACTEST-CLUSTER

b) It is under from $GI_HOME/cdata.

$ cd /u01/app/12.1.0.2/grid/cdata
$ls -l
total 1280
drwxrwxr-x 2 grid oinstall 4096 Sep 19 08:23 RACTEST-CLUSTER
drwxr-xr-x 2 grid oinstall 4096 Sep 18 12:36 racnode1
-rw------- 1 root oinstall 503484416 Sep 19 08:28 racnode1.olr
drwxr-xr-x 2 grid oinstall 4096 Sep 18 12:24 localhost

c) From crsconfig_params or cluster.ini file.

$cd /u01/app/12.1.0.2/grid/crs/install/
$ grep -i cluster_name crsconfig_params
CLUSTER_NAME=RACTEST-CLUSTER

$cd /u01/app/12.1.0.2/grid/install
$cat cluster.ini
[cluster_info]
cluster_name=RACTEST-CLUSTER

d) From OEM:

cluster_name

e) Run “olsnodes” command under GI_HOME/bin.

$cd /u01/app/12.2.0.1/grid/bin 
$./olsnodes -c
RACTEST-CLUSTER