Sunday, June 7, 2020

How to do manual Oracle RDBMS 19C Deinstallation.

How to do manual Oracle  RDBMS 19C  Deinstallation.

Manual way to Delete the Oracle 19c.

step 1.
Detach Oracle home '/oracle/PRD/19.0.0' from the central inventory on the local node.

step 2.
Delete directory '/oracle/PRD/19.0.0' on the local node

step 3.
Delete directory '/oracle/PRD/oraInventory19.0.0'





Using Oracle Tool  ./deinstall  

[oraprd@prd1 deinstall]$ ./deinstall
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /tmp/deinstall2020-06-07_10-55-00PM/logs/

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


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


Checking for existence of the Oracle home location /oracle/PRD/19.0.0
Oracle Home type selected for deinstall is: Oracle Single Instance Database
Oracle Base selected for deinstall is: /oracle/PRD
Checking for existence of central inventory location /oracle/PRD/oraInventory19.0.0

## [END] Install check configuration ##


Network Configuration check config START

Network de-configuration trace file location: /tmp/deinstall2020-06-07_10-55-00PM/logs/netdc_check2020-06-07_10-55-08PM.log

Network Configuration check config END

Database Check Configuration START

Database de-configuration trace file location: /tmp/deinstall2020-06-07_10-55-00PM/logs/databasedc_check2020-06-07_10-55-08PM.log

Use comma as separator when specifying list of values as input

Specify the list of database names that are configured in this Oracle home []:
Database Check Configuration END

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


####################### DECONFIG CHECK OPERATION SUMMARY #######################
Oracle Home selected for deinstall is: /oracle/PRD/19.0.0
Inventory Location where the Oracle home registered is: /oracle/PRD/oraInventory19.0.0
Do you want to continue (y - yes, n - no)? [n]: y
A log of this session will be written to: '/tmp/deinstall2020-06-07_10-55-00PM/logs/deinstall_deconfig2020-06-07_10-55-06-PM.out'
Any error messages from this session will be written to: '/tmp/deinstall2020-06-07_10-55-00PM/logs/deinstall_deconfig2020-06-07_10-55-06-PM.err'

######################## DECONFIG CLEAN OPERATION START ########################
Database de-configuration trace file location: /tmp/deinstall2020-06-07_10-55-00PM/logs/databasedc_clean2020-06-07_10-55-08PM.log

Network Configuration clean config START

Network de-configuration trace file location: /tmp/deinstall2020-06-07_10-55-00PM/logs/netdc_clean2020-06-07_10-55-08PM.log

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/deinstall2020-06-07_10-55-00PM/response/deinstall_2020-06-07_10-55-06-PM.rsp
Location of logs /tmp/deinstall2020-06-07_10-55-00PM/logs/

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



####################### DEINSTALL CHECK OPERATION SUMMARY #######################
A log of this session will be written to: '/tmp/deinstall2020-06-07_10-55-00PM/logs/deinstall_deconfig2020-06-07_10-55-06-PM.out'
Any error messages from this session will be written to: '/tmp/deinstall2020-06-07_10-55-00PM/logs/deinstall_deconfig2020-06-07_10-55-06-PM.err'

######################## DEINSTALL CLEAN OPERATION START ########################
## [START] Preparing for Deinstall ##
Setting LOCAL_NODE to prd1
Setting CRS_HOME to false
Setting oracle.installer.invPtrLoc to /tmp/deinstall2020-06-07_10-55-00PM/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 '/oracle/PRD/19.0.0' from the central inventory on the local node : Done

Delete directory '/oracle/PRD/19.0.0' on the local node : Done

Delete directory '/oracle/PRD/oraInventory19.0.0' on the local node : Done

The Oracle Base directory '/oracle/PRD' 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 '/oracle/PRD/19.0.0' from the central inventory on the local node.
Successfully deleted directory '/oracle/PRD/19.0.0' on the local node.
Successfully deleted directory '/oracle/PRD/oraInventory19.0.0' on the local node.
Oracle Universal Installer cleanup was successful.


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

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


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

[oraprd@prd1 deinstall]$ ls -ld /oracle/PRD/oraInventory19.0.0
ls: cannot access /oracle/PRD/oraInventory19.0.0: No such file or directory
[oraprd@prd1 deinstall]$ ls -ld /oracle/PRD/19.0.0
ls: cannot access /oracle/PRD/19.0.0: No such file or directory
[oraprd@prd1 deinstall]$




Tuesday, June 2, 2020

Steps To Recreate Central Inventory(oraInventory) In Oracle RDBMS Home

Steps To Recreate Central Inventory(oraInventory) In  Oracle RDBMS Homes.


If some one delete the Central inventory by mistakenly then how to recover ? here  are straight forward steps are.

Step 1: Lets find the location of Central/global inventory


[oraeom@oem EOM]$ cat /etc/oraInst.loc
inventory_loc=/u001/app/oraInventory
inst_group=oinstall

If an oraInst.loc file does not exist, then create one as below with the following entries:

inventory_loc=<location_for_oraInventory>
inst_group=<name_of_group_for_installtion>

[oraeom@oem EOM]$ ls -ld /u001/app/oraInventory
ls: cannot access /u001/app/oraInventory: No such file or directory


Step 2: Execute run Installer command from  ORACLE_HOME/oui/bin loctaion



syntax :.
/runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Name_Of _Oracle_Home>"




 /oracle/EOM/1202/oui/bin/runInstaller -silent -ignoreSysPreReqs -attachHome ORACLE_BASE=/oracle/EOM ORACLE_HOME=/oracle/EOM/1202 ORACLE_HOME_NAME=1202_clone INVENTORY_LOCATION=/oracle/EOM/oraInventory oracle_install_OSDBA=dba oracle_install_OSOPER=dba oracle_install_OSBKP=dba oracle_install_OSDGD=dba oracle_install_OSKMT=dba
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 7970 MB    Passed
The inventory pointer is located at /etc/oraInst.loc

Please execute the '/oracle/EOM/oraInventory/orainstRoot.sh' script at the end of the session.
'AttachHome' was successful.



Step 3: Run the oraInstRoot.sh Script  as root user.

[root@oem ~]# /oracle/EOM/oraInventory/orainstRoot.sh
Changing permissions of /oracle/EOM/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /oracle/EOM/oraInventory to oinstall.
The execution of the script is complete.
[root@oem ~]#
[root@oem ~]#
[root@oem ~]# /oracle/EOM/oraInventory/orainstRoot.sh
Changing permissions of /oracle/EOM/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /oracle/EOM/oraInventory to oinstall.
The execution of the script is complete.
[root@oem ~]#


Check Here we successfully created the  Global/Central OraInventory 

[oraeom@oem EOM]$ ls -ld /oracle/EOM/oraInventory
drwxrwx--- 4 oraeom oinstall 4096 May 31 05:44 /oracle/EOM/oraInventory
[oraeom@oem EOM]$ date
Sun May 31 05:47:17 CDT 2020
[oraeom@oem EOM]$



Step 4: Here i have another ORACLE_HOME 


So to add this ORACLE_HOME information in the newly Created the OraInventory 
Please use this below approach.

[oracle@oem]$ /u001/app/oracle/product/12.2.0/oui/bin/runInstaller -attachHome ORACLE_HOME=/u001/app/oracle/product/12.2.0 ORACLE_HOME_NAME=Orau00112_home

Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 7970 MB    Passed
The inventory pointer is located at /etc/oraInst.loc
'AttachHome' was successful.


cat /oracle/EOM/oraInventory/ContentsXML/inventory.xml

some snippet from the  inventory.xml file.


<HOME_LIST>
<HOME NAME="1202_clone" LOC="/oracle/EOM/1202" TYPE="O" IDX="1"/>
<HOME NAME="Orau00112_home2" LOC="/u001/app/oracle/product/12.2.0" TYPE="O" IDX="2"/>



Some time  After Recreate please check 

sstereccdp3:orap10 180> ./opatch lsinventory
========================================================
GENERIC OPATCH VERSION - FOR USE IN SAP ENVIRONMENT ONLY
========================================================
Oracle Interim Patch Installer version 11.2.0.3.18
Copyright (c) 2021, Oracle Corporation.  All rights reserved.


Oracle Home       : /oracle/P10/11204
Central Inventory : /oracle/oraInventory
   from           : /oracle/P10/11204/oraInst.loc
OPatch version    : 11.2.0.3.18 FOR USE IN SAP ENVIRONMENT ONLY
OUI version       : 11.2.0.4.0
Log file location : /oracle/P10/11204/cfgtoollogs/opatch/opatch2021-03-08_22-43-11PM_1.log

LsInventorySession failed: OPatch failed to locate Central Inventory.
Possible causes are:
    The Central Inventory is corrupted
    The oraInst.loc file specified is not valid.

OPatch failed with error code 73

sstereccdp3:orap10 192> cat $ORACLE_HOME/oraInst.loc ===> Please update this file name
inventory_loc=/oracle/oraInventory
inst_group=dba
sstereccdp3:orap10 193> vi $ORACLE_HOME/oraInst.loc

sstereccdp3:orap10 201> cat $ORACLE_HOME/oraInst.loc
inventory_loc=/oracle/P10/oraInventory11204
inst_group=dba



NoteHere  Perl clone.pl command will not work to Create Global inventory

lets try practically

/oracle/EOM/1202/clone/bin/clone.pl -invPtrLoc /etc/oraInst.loc ORACLE_BASE=/oracle/EOM  ORACLE_HOME_NAME=clone12home ORACLE_HOME=/oracle/EOM/1202 INVENTORY_LOCATION=/oracle/OEM/oraInventory oracle_install_OSDBA=dba oracle_install_OSOPER=dba oracle_install_OSBACKUPDBA=dba oracle_install_OSDGDBA=dba oracle_install_OSKMDBA=dba oracle_install_OSRACDBA=dba oracle.sysman.ccr:PRE_REQUISITE=true
Do You Want To Continue (y/n):y

You do not have sufficient permissions to access the inventory '/oracle/OEM/oraInventory'. Installation cannot continue. It is required that the primary group of the install user is same as the inventory owner group. Make sure that the install user is part of the inventory owner group and restart the installer.
OUI finished with return code -1


I got the error .

so perl clone.pl script will not help this scenario.




Note:-
This command is used to only install the binary silently. so Don't use this command to recreate 
the Ora Inventory.

$/oralce/EOM/1202/oui/bin/runInstaller -clone -ignorePreReq -waitForCompletion ORACLE_BASE="/oracle/EOM" ORACLE_HOME="/oracle/EOM/1202" ORACLE_HOME_NAME="1202_clone" INVENTORY_LOCATION="/oracle/EOM/oraInventory" oracle_install_OSDBA="dba" oracle_install_OSOPER="dba" oracle_install_OSBKP="dba" oracle_install_OSDGD="dba"  oracle_install_OSKMT="dba" -silent -paramFile "/oracle/EOM/1202/clone/clone_oraparam.ini"