Solution for utility Deinstall fails with “ERROR: null” in Oracle 19c on Linux/RHEL 8

December 28, 2021
()

Solution for utility Deinstall fails with “ERROR: null” in Oracle 19c on Linux/RHEL 8


In a recent article, we demonstrated Deinstall Oracle 19c Binaries along with Databases, click here to read more. In this article, we will demonstrate a Solution for utility Deinstall fails with “ERROR: null” in Oracle 19c on Linux/RHEL 8.

I tried to deinstall oracle binary along with removing all services associated with the same ORACLE HOME in Oracle 19c on server type Oracle Linux/RHEL 8 and found an error “ERROR: null” while launching utility deinstall.


ERROR

  • Launch utility deinstall.
[oracle@DBsGuruN3 ~]$ . oraenv
ORACLE_SID = [oracle] ? labdbdup
The Oracle base has been set to /u01/app/oracle
[oracle@DBsGuruN3 ~]$ cd $ORACLE_HOME/deinstall/
[oracle@DBsGuruN3 deinstall]$ ls -lrt deinstall
-rwxr-x---. 1 oracle oinstall 11239 Oct 26 12:50 deinstall
[oracle@DBsGurun5 deinstall]$ ./deinstall
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /tmp/deinstall2021-12-27_04-16-23PM/logs/

############ ORACLE DECONFIG TOOL START ############


######################### DECONFIG CHECK OPERATION START #########################
## [START] Install check configuration ##


Checking for existence of the Oracle home location /u01/app/oracle/product/19.0.0/db_1
Oracle Home type selected for deinstall is: Oracle Single Instance Database
Oracle Base selected for deinstall is: /u01/app/oracle
Checking for existence of central inventory location /u01/app/oraInventory
ERROR: null


  • Deinstall error log.
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at oracle.install.db.deinstall.wrapper.Deinstall.callCheckImpl(Deinstall.java:1449)
	at oracle.install.db.deinstall.wrapper.Deinstall.main(Deinstall.java:732)
Caused by: java.lang.ExceptionInInitializerError
	at oracle.ops.verification.framework.util.Assert.assertPath(Assert.java:601)
	at oracle.cluster.verification.ClusterVerification.setPreReqXmlFile(ClusterVerification.java:9059)
	at oracle.install.db.deinstall.core.CheckInstall.checkConfig(CheckInstall.java:1083)
	... 6 more
Caused by: java.lang.NullPointerException
	at oracle.ops.verification.framework.storage.StorageUtil.<clinit>(StorageUtil.java:194)
	... 9 more


This is a known issue while OS Check performed by CVU on Oracle Linux/RHEL 8.


SOLUTION

Let’s move to the solution, We have two types of solutions to fix this issue.

1. Either apply/install 19.7 OCW RU Patch and then execute utility deinstall.

We can see in the below output of patch status which is 19.3.

[oracle@DBsGuruN3 deinstall]$ cd $ORACLE_HOME/OPatch
[oracle@DBsGuruN3 OPatch]$ ./opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)

OPatch succeeded.
[oracle@DBsGuruN3 OPatch]$


2. Or the second solution is to set the environment variable CV_ASSUME_DISTID=OL7 as binary owner Oracle then execute utility deinstall. Below are detailed steps for the same:

[oracle@DBsGuruN3 deinstall]$ export CV_ASSUME_DISTID=OL7
[oracle@DBsGuruN3 deinstall]$ ./deinstall
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /tmp/deinstall2021-12-27_04-23-39PM/logs/

############ ORACLE DECONFIG TOOL START ############


######################### DECONFIG CHECK OPERATION START #########################
## [START] Install check configuration ##


Checking for existence of the Oracle home location /u01/app/oracle/product/19.0.0/db_1
Oracle Home type selected for deinstall is: Oracle Single Instance Database
Oracle Base selected for deinstall is: /u01/app/oracle
Checking for existence of central inventory location /u01/app/oraInventory

## [END] Install check configuration ##


Network Configuration check config START
=========Trimmed Data=========
####################### DEINSTALL CLEAN OPERATION SUMMARY #######################
Successfully detached Oracle home '/u01/app/oracle/product/19.0.0/db_1' from the central inventory on the local node.
Successfully deleted directory '/u01/app/oracle/product/19.0.0/db_1' on the local node.
Successfully deleted directory '/u01/app/oraInventory' on the local node.
Oracle Universal Installer cleanup was successful.


Run 'rm -r /etc/oraInst.loc' as root on node(s) 'DBsGuruN3' at the end of the session.

Run 'rm -r /opt/ORCLfmap' as root on node(s) 'DBsGuruN3' at the end of the session.
Run 'rm -r /etc/oratab' as root on node(s) 'DBsGuruN3' at the end of the session.
Review the permissions and contents of '/u01/app/oracle' on nodes(s) 'DBsGuruN3'.
If there are no Oracle home(s) associated with '/u01/app/oracle', manually delete '/u01/app/oracle' and its contents.
Oracle deinstall tool successfully cleaned up temporary directories.
#######################################################################


############# ORACLE DEINSTALL TOOL END #############


This document is just for learning purpose and always validate in the LAB environment first before applying in the LIVE environment.


Hope so you like this article
!
Please share your valuable feedback/comments/subscribe and follow us below and don’t forget to click on the bell icon to get the most recent update. Click here to understand more about our pursuit.

Related Articles


Loading

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

<strong>Hello and welcome to DBsGuru,</strong>DBsGuru is a group of experienced DBA professionals and serves databases and their related community by providing technical blogs, projects, training. Technical blogs are the source of vast information not about databases but its related product like middleware, PL/SQL, replication methodology, and so on.Thanks for the visits!<strong>Share Learn Grow!</strong>

Leave a Reply

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