Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUM ORACLE F.A.Q ORACLE TUTORIELS ORACLE TUTORIELS SQL SCRIPTS SQL LIVRES ORACLE QUIZ BLOG ORACLE


Désinstallation d'Oracle

6 mai 2004
MAJ: 25 décembre 2005

Par Fabien Celaia (Fadace)

Introduction

La version 10g d'Oracle a apporté au néophyte une procédure d'installation simplifiée comparé aux versions précédentes.

Malheureusement, la procédure de désinstallation est tout aussi calamiteuse que les précédentes.

Ce petit article vous explique comment désinstaller proprement Oracle.

Procédure

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

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'instalaltion. A l'apparition de la fenête 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 5 à 10 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 el 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é dans ses installations de manière à ne plus pouvoir les réaffecter à d'autres emplacements. Il nous faut donc supprimer manuellemenet 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ésinstalation est terminée, l'écran suivant apparaît.

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

Nettoyage sous Unix

  • Suppression du répertoire $ORACLE_BASE
  • Suppression du répertoire $TNS_NAME
  • Suppression des variables d'environement $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'environement $LD_LIBRARY_PATH, $PATH, via nettoyage du .profile ou .login (selon le shell utilisé).

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'environement 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éruire 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 registres. 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 registres.