Désinstallation d'Oracle

Fabien Celaia

- Titre : Désinstallation d'Oracle

- Auteur : Fabien Celaia

- Parution : 6 mai 2004

- Mise à jour : 25 décembre 2005

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2013 Fabien Celaia. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Procédure

- I-A. Oracle Installer

- I-B. Nettoyage sous Unix

- I-C. Nettoyage sous Windows

I - Procédure

I-A - Oracle Installer

Oracle Installer, l'outil qui - comme son nom l'indique - permet d'installer Oracle, permet aussi - en théorie - de le désinstaller. Son action est cependant très limitée, car il ne nettoie pas complètement la base de registre.

Commençons cependant par l'utiliser tel qu'il devrait être.

Vous avez la possibilité de visionner la procédure :

- via une présentation Flash ;

- via un exécutable téléchargeable.

Démarrons-le via la barre de menu Windows :

La fenêtre Dos permettant l'exécution Java de l'Installer s'ouvre comme lors de l'installation. À l'apparition de la fenêtre d'accueil, choisissions le bouton désinstaller

Cliquons maintenant sur tous les produits disponibles afin que la désinstallation soit la plus propre. Notons que si nous avions installé au préalable d'anciennes versions d'Oracle, on peut les faire apparaître - et donc les désinstaller - via la case à cocher Show empty homes.

L'écran suivant nous affiche tous les produits qui vont être désinstallés. Confirmons.

La désinstallation débute… et va prendre cinq à dix minutes (selon votre PC et les modules à désinstaller).

Il n'est pas rare, selon les distributions, qu'un message d'erreur apparaisse. Si tel est le cas, validons via OK et continuons.

Encore un détail qui a son importance : Oracle stocke tous les chemins et noms ayant été une fois utilisés dans ses installations de manière à ne plus pouvoir les réaffecter à d'autres emplacements. Il nous faut donc supprimer manuellement l'entrée créée sous Windows sous c:\Program files\oracle (et son fameux sous-répertoire Inventory, source de notre problème).

Lorsque la désinstallation est terminée, l'écran suivant apparaît.

Quittons alors l'Installer via un Close et un Cancel/Ok.

I-B - Nettoyage sous Unix

- Suppression du répertoire $ORACLE_BASE.

- Suppression du répertoire $TNS_NAME.

- Suppression des variables d'environnement $ORACLE_BASE, $ORACLE_HOME, $ORACLE_OWNER,$ORACLE_TERM, $TNS_ADMIN, via nettoyage du .profile ou .login (selon le shell utilisé).

- Nettoyage des références Oracle dans les variables d'environnement $LD_LIBRARY_PATH, $PATH, via nettoyage du .profile ou .login (selon le shell utilisé).

I-C - Nettoyage sous Windows

Via Regedit, et avec les droits nécessaires, il va nous falloir supprimer toute référence à Oracle, ou en tout cas, à ses services.

Pour rappel, Oracle avait installé :

Catégorie

Clef

Valeur

Variable d'environnement

PATH

C:\oracle\10g\perl\lib\5.6.1;
C:\oracle\10g\perl\5.6.1\lib\MSWin32-x86;
C:\oracle\10g\perl\site\5.6.1;
C:\oracle\10g\perl\site\5.6.1\lib;
C:\oracle\10g\sysman\admin\scripts

PERL5LIB

C:\oracle\10g\perl\lib\5.6.1\MSWin32-x86;
C:\oracle\10g\perl\lib\5.6.1;
C:\oracle\10g\perl\5.6.1\lib\MSWin32-x86;
C:\oracle\10g\perl\site\5.6.1;
C:\oracle\10g\perl\site\5.6.1\lib;
C:\oracle\10g\sysman\admin\scripts

Services

Répertoires

c :\oracle\10g
c:\oracle\admin
c:\oracle\flash_recovery_area
c:\oracle\oradata

Malgré notre désinstallation, il nous reste des services encore actifs :

Nous allons donc détruire avant tout les entrées suivantes de la base de registre :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraDb10g_home1TNSListener

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleServiceORA10DB

… puis les clefs

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\TNS_ADMIN

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs\Oracle Installation Products

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\ORA

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs\Oracle - ORA10

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs\Oracle - OraDb10g_home1

HKEY_CLASSES_ROOT\Installer\Assemblies\Global\System.Data.OracleClient,Version

Le reste du nettoyage dépend de vos compétences concernant la base de registre. Il va sans dire que la suppression d'une clef importante risque de déstabiliser votre système d'exploitation. Faites cependant attention de ne pas laisser des clefs pointant sur un répertoire qui n'existerait plus (par exemple un HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment pointant sur un répertoire Oracle inexistant).

En usant de la même prudence, vous pouvez supprimer toutes les clefs contenant du Oracle des sous-répertoires de

HKEY_CLASSES_ROOT\AppID\

HKEY_CLASSES_ROOT\CLSID\

HKEY_CLASSES_ROOT\ORA...

HKEY_CLASSES_ROOT\Typelib\...

Pour ce faire, utilisez à bon escient la recherche (via F3) de Regedit.

Il ne nous reste plus alors qu'à supprimer le répertoire Oracle et redémarrer notre machine afin de nous affranchir de toutes les anciennes valeurs de la base de registre.