Oracle 19c deinstall fails with “ERROR:null” on RHEL 8

Trying to deinstall Oracle 19c client, the follow error occures:

$ /u01/oracle/product/19.15/client_1/deinstall/deinstall
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /tmp/deinstall2023-08-15_12-46-41PM/logs/

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


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


Checking for existence of the Oracle home location /u01/oracle/product/19.15/client_1
Oracle Home type selected for deinstall is: Oracle Database Client
Oracle Base selected for deinstall is: /u01/oracle/product
Checking for existence of central inventory location /u01/oracle/product/oraInventory
ERROR: null

SOLUTION

$ export CV_ASSUME_DISTID=OL7

Then deinstall works fine:

$ /u01/oracle/product/19.15/client_1/deinstall/deinstall
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /tmp/deinstall2023-08-15_12-50-44PM/logs/

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


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


Checking for existence of the Oracle home location /u01/oracle/product/19.15/client_1
Oracle Home type selected for deinstall is: Oracle Database Client
Oracle Base selected for deinstall is: /u01/oracle/product
Checking for existence of central inventory location /u01/oracle/product/oraInventory

## [END] Install check configuration ##


Network Configuration check config START

Network de-configuration trace file location: /tmp/deinstall2023-08-15_12-50-44PM/logs/netdc_check2023-08-15_12-50-49PM.log

Network Configuration check config END


######################### DECONFIG CHECK OPERATION END #########################


####################### DECONFIG CHECK OPERATION SUMMARY #######################
Oracle Home selected for deinstall is: /u01/oracle/product/19.15/client_1
Inventory Location where the Oracle home registered is: /u01/oracle/product/oraInventory
Do you want to continue (y - yes, n - no)? [n]: y
A log of this session will be written to: '/tmp/deinstall2023-08-15_12-50-44PM/logs/deinstall_deconfig2023-08-15_12-50-49-PM.out'
Any error messages from this session will be written to: '/tmp/deinstall2023-08-15_12-50-44PM/logs/deinstall_deconfig2023-08-15_12-50-49-PM.err'

######################## DECONFIG CLEAN OPERATION START ########################

Network Configuration clean config START

Network de-configuration trace file location: /tmp/deinstall2023-08-15_12-50-44PM/logs/netdc_clean2023-08-15_12-50-49PM.log

De-configuring Naming Methods configuration file...
Naming Methods configuration file de-configured successfully.

De-configuring backup files...
Backup files de-configured successfully.

The network configuration has been cleaned up successfully.

Network Configuration clean config END


######################### DECONFIG CLEAN OPERATION END #########################


####################### DECONFIG CLEAN OPERATION SUMMARY #######################
#######################################################################


############# ORACLE DECONFIG TOOL END #############

Using properties file /tmp/deinstall2023-08-15_12-50-44PM/response/deinstall_2023-08-15_12-50-49-PM.rsp
Location of logs /tmp/deinstall2023-08-15_12-50-44PM/logs/

############ ORACLE DEINSTALL TOOL START ############





####################### DEINSTALL CHECK OPERATION SUMMARY #######################
A log of this session will be written to: '/tmp/deinstall2023-08-15_12-50-44PM/logs/deinstall_deconfig2023-08-15_12-50-49-PM.out'
Any error messages from this session will be written to: '/tmp/deinstall2023-08-15_12-50-44PM/logs/deinstall_deconfig2023-08-15_12-50-49-PM.err'

######################## DEINSTALL CLEAN OPERATION START ########################
## [START] Preparing for Deinstall ##
Setting LOCAL_NODE to testhost
Setting CRS_HOME to false
Setting oracle.installer.invPtrLoc to /tmp/deinstall2023-08-15_12-50-44PM/oraInst.loc
Setting oracle.installer.local to false

## [END] Preparing for Deinstall ##

Setting the force flag to false
Setting the force flag to cleanup the Oracle Base
Oracle Universal Installer clean START

Detach Oracle home '/u01/oracle/product/19.15/client_1' from the central inventory on the local node : Done

Delete directory '/u01/oracle/product/19.15/client_1' on the local node : Done

Delete directory '/u01/oracle/product/oraInventory' on the local node : Done

Failed to delete the directory '/u01/oracle/product/11.2.0.4/client'. Either user has no permission to delete or it is in use.
The Oracle Base directory '/u01/oracle/product' will not be removed on local node. The directory is not empty. User needs to manually cleanup this directory.

Oracle Universal Installer cleanup was successful.

Oracle Universal Installer clean END


## [START] Oracle install clean ##


## [END] Oracle install clean ##


######################### DEINSTALL CLEAN OPERATION END #########################


####################### DEINSTALL CLEAN OPERATION SUMMARY #######################
Successfully detached Oracle home '/u01/oracle/product/19.15/client_1' from the central inventory on the local node.
Successfully deleted directory '/u01/oracle/product/19.15/client_1' on the local node.
Successfully deleted directory '/u01/oracle/product/oraInventory' on the local node.
Oracle Universal Installer cleanup was successful.


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

Review the permissions and contents of '/u01/oracle/product' on nodes(s) 'testhost'.
If there are no Oracle home(s) associated with '/u01/oracle/product', manually delete '/u01/oracle/product' and its contents.
Oracle deinstall tool successfully cleaned up temporary directories.
#######################################################################


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

Oracle Flashback is ON or OFF in Oracle Database

Flashback is OFF

SQL>  select FLASHBACK_ON from v$database;

FLASHBACK_ON
------------------
NO

Flashback is ON

SQL>  select FLASHBACK_ON from v$database;

FLASHBACK_ON
------------------
YES

Flashback is OFF but with Restore Point

SQL> select FLASHBACK_ON from v$database;

FLASHBACK_ON
------------------
RESTORE POINT ONLY

ASM disk group state shows as ‘CONNECTED’

As we know, normally disk group state is ‘MOUNTED’ or ‘DISMOUNTED’, etc. Today, when I ran the following query, two disk group state shows as ‘CONNECTED’:

SQL> select NAME,STATE from v$asm_diskgroup ;

NAME       STATE 
---------- ---------
DATA       CONNECTED                                                      
RECO       CONNECTED 
...
..
.

According to Oracle doc, ‘CONNECTED’ means disk group is in use by the database instance:

STATEVARCHAR2(11)State of the disk group relative to the instance:
CONNECTED – Disk group is in use by the database instance
BROKEN – Database instance lost connectivity to the Oracle ASM instance that mounted the disk group
UNKNOWN – Oracle ASM instance has never attempted to mount the disk group
DISMOUNTED – Disk group was cleanly dismounted by the Oracle ASM instance following a successful mount
MOUNTED – Instance is successfully serving the disk group to its database clients
QUIESCING – CRSCTL utility attempted to dismount a disk group that contains the Oracle Cluster Registry (OCR). The disk group cannot be dismounted until Cluster Ready Services (CRS) exits, because the disk group contains the OCR.

RMAN-06136: ORACLE error from auxiliary database: ORA-00201: control file version 11.2.0.4.0 incompatible with ORACLE version 11.2.0.0.0

  1. Check parameter ‘compatible’ on both source and target databases.
  2. Set compatible value the same on target as on the source.
  3. Rerun RMAN duplicate database again.

HOW TO ENABLE ARCHIVE LOG MODE IN ORACLE 19c RAC

SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 338
Current log sequence 340
SQL> select log_mode,name from v$database;

LOG_MODE     NAME

NOARCHIVELOG TESTDB
$ srvctl stop database -d TESTDB
$ srvctl start database -d TESTDB -o mount
SQL> alter database archivelog;
Database altered.
SQL> alter system set log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST' sid='*' scope=both;

SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 339
Next log sequence to archive 341
Current log sequence 341
$ srvctl stop database -d TESTDB
$ srvctl start database -d TESTDB