Désinstaller Oracle avec le script "deinstall"

Très honnêtement, je n’utilise jamais le script deinstall pour supprimer Oracle. Je préfère utiliser runInstaller -detachHome, un tar suivi d’un rm -rf db_x qui a l’extrême avantage de pouvoir servir de base aux cloning d’environnements. Cela étant, je suis pour tout ce qui me fait gagner du temps ! L’autre jour, sans accès Internet et sans autre besoin que de faire un rm -rf *, j’ai décidé de donner une nouvelle chance à l’outil de désinstallation d’Oracle, histoire de…

Il s’avère que désinstaller, cet outil est très efficace [NDLR: comme son nom l’indique, mais je suis toujours méfiant]; non seulement il supprime le logiciel mais il peut également détruire vos bases de données, supprimer les listeners, déconfigurer OCM/CCR, supprimer les disgroups ASM et les instances associées, supprimer la cible correspondante d’Enterprise Manager. Bref,
il est, après tout, sans doute temps que je révise mon jugement sur ce script !

Voici, pour information, un enregistrement de ma session… Vous noterez notamment qu’il n’utilise pas l’interface graphique, ce qui n’est pas la moindre de ses qualités :

cd /u01/app/oracle/product/11.2.0/db_2/deinstall

$ ./deinstall
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /u01/app/oraInventory/logs/

############ ORACLE DEINSTALL & DECONFIG TOOL START ############


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


Checking for existence of the Oracle home location /u01/app/oracle/product/11.2.0/db_2
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
Checking for sufficient temp space availability on node(s) : 'pink'

## [END] Install check configuration ##


Network Configuration check config START

Network de-configuration trace file location: /u01/app/oraInventory/logs/netdc_check2011-11-11_11-17-12-AM.log

Network Configuration check config END

Database Check Configuration START

Database de-configuration trace file location: /u01/app/oraInventory/logs/databasedc_check2011-11-11_11-17-13-AM.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 []:
[RETURN]
Database Check Configuration END

Enterprise Manager Configuration Assistant START

EMCA de-configuration trace file location: /u01/app/oraInventory/logs/emcadc_check2011-11-11_11-17-27-AM.log

Enterprise Manager Configuration Assistant END
Oracle Configuration Manager check START
OCM check log file location : /u01/app/oraInventory/logs//ocm_check7622.log
Oracle Configuration Manager check END

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


####################### CHECK OPERATION SUMMARY #######################
Oracle Home selected for deinstall is: /u01/app/oracle/product/11.2.0/db_2
Inventory Location where the Oracle home registered is: /u01/app/oraInventory
No Enterprise Manager configuration to be updated for any database(s)
No Enterprise Manager ASM targets to update
No Enterprise Manager listener targets to migrate
Checking the config status for CCR
Oracle Home exists with CCR directory, but CCR is not configured
CCR check is finished
Do you want to continue (y - yes, n - no)? [n]:
y
A log of this session will be written to: '/u01/app/oraInventory/logs/deinstall_deconfig2011-11-11_11-17-08-AM.out'
Any error messages from this session will be written to: '/u01/app/oraInventory/logs/deinstall_deconfig2011-11-11_11-17-08-AM.err'

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

Enterprise Manager Configuration Assistant START

EMCA de-configuration trace file location: /u01/app/oraInventory/logs/emcadc_clean2011-11-11_11-17-27-AM.log

Updating Enterprise Manager ASM targets (if any)
Updating Enterprise Manager listener targets (if any)
Enterprise Manager Configuration Assistant END
Database de-configuration trace file location: /u01/app/oraInventory/logs/databasedc_clean2011-11-11_11-17-33-AM.log

Network Configuration clean config START

Network de-configuration trace file location: /u01/app/oraInventory/logs/netdc_clean2011-11-11_11-17-33-AM.log

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

The network configuration has been cleaned up successfully.

Network Configuration clean config END

Oracle Configuration Manager clean START
OCM clean log file location : /u01/app/oraInventory/logs//ocm_clean7622.log
Oracle Configuration Manager clean END
Setting the force flag to false
Setting the force flag to cleanup the Oracle Base
Oracle Universal Installer clean START

Detach Oracle home '/u01/app/oracle/product/11.2.0/db_2' from the central inventory on the local node : Done

Delete directory '/u01/app/oracle/product/11.2.0/db_2' on the local node : Done

The Oracle Base directory '/u01/app/oracle' will not be removed on local node. The directory is in use by Oracle Home '/u01/app/oracle/product/10.2.0/db_1'.

Oracle Universal Installer cleanup was successful.

Oracle Universal Installer clean END


## [START] Oracle install clean ##

Clean install operation removing temporary directory '/tmp/deinstall2011-11-11_11-16-13AM' on node 'localhost'

## [END] Oracle install clean ##


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


####################### CLEAN OPERATION SUMMARY #######################
Cleaning the config for CCR
As CCR is not configured, so skipping the cleaning of CCR configuration
CCR clean is finished
Successfully detached Oracle home '/u01/app/oracle/product/11.2.0/db_2' from the central inventory on the local node.
Successfully deleted directory '/u01/app/oracle/product/11.2.0/db_2' on the local node.
Oracle Universal Installer cleanup was successful.

Oracle deinstall tool successfully cleaned up temporary directories.
#######################################################################


############# ORACLE DEINSTALL & DECONFIG TOOL END #############

Et voilà, un nouveau truc pour être encore plus rapide : à réutiliser sans fin… Vous avez même un fichier de paramètres exemple pour automatiser vos désinstallations.

Notes:

  • Une licence Oracle n’est pas attachée à un serveur, ni même à un système d’exploitation. Cela dit, pour pouvoir réutiliser une licence Oracle sur un autre serveur, vous devez contractuellement supprimer l’ensemble des licences du serveur précédent.
  • On peut regretter que la désinstallation en mode non interactive ne fonctionne pas sans fichier de paramètre en passant les valeurs dans la ligne de commande. Et en plus je vieillis…

2 réflexions sur “Désinstaller Oracle avec le script "deinstall"”

  1. Dans le même acabit, detachHome.sh situé dans $ORACLE_HOME/oui/bin détache le ORACLE_HOME sans aucun paramètre.

  2. Attention, il ne fonctionne pas bien pour supprimer un OH de grid infrastructure (11.2.0.1 après patch 11.2.0.2 ou 11.2.0.3). Il faut lui ajouter un déverrouillage #root.pl -unlock au préalable.

Les commentaires sont fermés.