Wie kann man Oracle 11g (Client) deinstallieren / vollständig entfernen?

78

Wie kann man Oracle 11g (Client) deinstallieren / vollständig entfernen?

deinstall.bat funktioniert nicht.

Bearbeiten: Weitere Diskussion darüber, warum diese Frage geschlossen und gelöscht wurde: /meta/190441/why-was-diese-Frage-related-to-uninstalling-the-oracle-database-client- gelöscht

Yves
quelle
7
Unglaublich, dass diese Frage durch Mods geschlossen wurde, der Beitrag unten war äußerst hilfreich. Ich wünschte, sie würden den Community-Bereich erweitern, um "alles aufzunehmen, was Entwicklern hilfreich ist".
Fuzzy-Analyse
1
@fuzzyanalysis: Diese Frage wurde von Moderatoren nicht geschlossen. Neben diesen Namen befinden sich keine Diamanten. Sie sind nur Benutzer.
Ale
5
Diese Frage besteht aus 13 Upvotes, 3 Favoriten, 1 Wiedereröffnungsabstimmung und 69.870 Views - obwohl sie eine wertvolle Ressource darstellt, wird nur 1 Stimme gelöscht. Wenn dies für SO als nicht thematisch betrachtet wird, welche andere Site sollte besser als themenbezogen betrachtet werden? Wäre ein Moderator in der Lage, dies auf die richtige Site zu verschieben - oder vielleicht sogar zu schützen, anstatt dieses Wissen für immer verloren zu haben?
ziesemer
Covered im Super User: superuser.com/questions/256762/...
matt wilkie

Antworten:

134

Unter der Annahme einer Windows-Installation lesen Sie bitte Folgendes:

http://www.oracle-base.com/articles/misc/ManualOracleUninstall.php

  • Deinstallieren Sie alle Oracle-Komponenten mit dem Oracle Universal Installer (OUI).
  • Führen Sie regedit.exe aus und löschen Sie den Schlüssel HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE. Diese enthält Registrierungsdaten für alle Oracle-Produkte.
  • Löschen Sie alle Verweise auf Oracle-Dienste, die im folgenden Teil der Registrierung zurückgelassen wurden: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ora*Es sollte ziemlich offensichtlich sein, welche sich auf Oracle beziehen.
  • Starten Sie Ihren Computer neu.
  • Löschen Sie das Verzeichnis "C: \ Oracle" oder ein beliebiges Verzeichnis, das Ihre ORACLE_BASE ist.
  • Löschen Sie das Verzeichnis "C: \ Programme \ Oracle".
  • Leeren Sie den Inhalt Ihres Verzeichnisses "C: \ temp".
  • Leeren Sie Ihren Papierkorb.

Zusätzliche Aufmerksamkeit auf einige großartige Kommentare lenken, die hier hinterlassen wurden:

  • Seien Sie vorsichtig, wenn Sie die hier aufgeführten Punkte (oben oder unten) befolgen, da dies andere von Oracle installierte Produkte entfernen oder beschädigen kann.
  • Unter 64-Bit-Windows (x64) müssen Sie den HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLESchlüssel auch aus der Registrierung löschen .
  • Bereinigen Sie, indem Sie alle zugehörigen Verknüpfungen entfernen, die im Startmenü installiert wurden.
  • Umgebungsvariablen bereinigen:
    • Erwägen Sie das Entfernen %ORACLE_HOME%.
    • Entfernen Sie alle nicht mehr benötigten Pfade von %PATH%.

Diese Anweisungen entsprechen zufällig einem nahezu identischen Prozess, den ich im Laufe der Jahre nach einigen durcheinandergebrachten Oracle-Installationen selbst rückentwickelt hatte und der fast immer den Anforderungen entsprach.

Beachten Sie, dass es auch dann ausreichen sollte, die verbleibenden Schritte zu befolgen, wenn die OUI nicht mehr verfügbar ist oder nicht funktioniert.

( Revision Nr. 7 wurde zurückgesetzt, um die ursprüngliche Quelle nicht falsch zu zitieren und die Gutschrift für die anderen Kommentare, die zur Antwort beigetragen haben, nicht zu entfernen. Weitere Änderungen sind erwünscht (und dann entfernen Sie bitte diesen Kommentar), wenn ein Weg gefunden werden kann, diese beizubehalten Überlegungen.)

ziesemer
quelle
4
Für 64-Bit-Fenster müssen Sie auch den Schlüssel HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ ORACLE löschen
itsho
3
Seien Sie zunächst vorsichtig, wenn Sie "C: \ Programme \ Oracle" löschen. Möglicherweise enthält es auch andere Produkte. Zweitens müssen Sie möglicherweise Ihr Startmenü manuell bereinigen;)
user123444555621
2
Vergessen Sie nicht, Ihre Pfadeinstellungen zu bereinigen und die Umgebungsvariable ORACLE_HOME zu entfernen.
Brad Bruce
1
Es ist leicht ärgerlich, dass Sie / anstelle von \: P
gbtimmon
1
@gbtimmon - Ich gehe davon aus, dass Sie sich auf die Registrierungspfade beziehen. Ich hatte einfach so zitiert, wie es aus dem Originalartikel war. Unabhängig davon sind sie jetzt behoben. :-)
ziesemer
10

Es gibt noch einige weitere Aktionen, die Sie berücksichtigen sollten:

  • Registrierungseinträge für MS Distributed Transaction Coordinator (MSDTC) entfernen

    Hinweis: Im Internet habe ich diesen Schritt nur auf einer einzelnen (privaten) Seite gefunden. Ich weiß nicht, ob es erforderlich ist / funktioniert oder ob es irgendetwas auf Ihrem PC kaputt macht.

    • Öffnen Sie Regedit
    • Navigieren Sie zu HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\MTxOCI
    • Fügen Sie ein x vor jeder Zeichenfolge für OracleOciLib, OracleSqlLibundOracleXaLib
    • Navigieren Sie zu HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\MSDTC\MTxOCI
    • Fügen Sie ein x vor jeder Zeichenfolge für OracleOciLib, OracleSqlLibundOracleXaLib

    Andernfalls werden diese Dateien, falls vorhanden, beim nächsten Neustart weiterhin verwendet und können nicht gelöscht werden.

  • Remove - Umgebungsvariable ORACLE_HOME, ORACLE_BASE, TNS_ADMIN, NLS_LANGwenn exist

    Überprüfen Sie auch das Oracle-Dokument, um alle Oracle-bezogenen Umgebungsvariablen zu finden. Abgesehen von den oben aufgeführten Variablen werden sie jedoch auf dem Windows-Client sehr selten verwendet: Oracle-Umgebungsvariablen

  • Oci.dll abmelden

    • Öffnen Sie ein Befehlszeilenfenster (Startmenü -> Ausführen ... -> cmd)
    • Geben Sie ein regsvr32 /u oci.dll, resp.%windir%\SysWOW64\regsvr32 /u oci.dll

    • In einigen Fällen ist die Datei %ORACLE_HOME%\bin\oci.dllgesperrt und kann nicht gelöscht werden. In diesem Fall benennen Sie die Datei um (z. B. in oci.dll.x) und starten Sie den PC neu. Anschließend können Sie sie löschen.

  • Entfernen Sie Oracle .NET-Assemblys aus dem Global Assembly Cache (GAC). Sie tun dies normalerweise mit dem Dienstprogramm gacutil , sofern es auf Ihrem System verfügbar ist. Wäre so:

    gacutil /u Policy.10.1.Oracle.DataAccess
    gacutil /u Policy.10.2.Oracle.DataAccess
    gacutil /u Policy.1.102.Oracle.DataAccess
    gacutil /u Policy.1.111.Oracle.DataAccess
    
    gacutil /u Policy.2.102.Oracle.DataAccess
    gacutil /u Policy.2.111.Oracle.DataAccess
    gacutil /u Policy.2.112.Oracle.DataAccess
    gacutil /u Policy.2.121.Oracle.DataAccess
    gacutil /u Policy.2.122.Oracle.DataAccess
    
    gacutil /u Policy.4.112.Oracle.DataAccess
    gacutil /u Policy.4.121.Oracle.DataAccess
    gacutil /u Policy.4.122.Oracle.DataAccess
    
    gacutil /u Oracle.DataAccess
    gacutil /u Oracle.DataAccess.resources
    
    gacutil /u Policy.4.121.Oracle.ManagedDataAccess
    gacutil /u Policy.4.122.Oracle.ManagedDataAccess
    gacutil /u Oracle.ManagedDataAccess
    gacutil /u Oracle.ManagedDataAccess.resources
    gacutil /u Oracle.ManagedDataAccessDTC
    gacutil /u Oracle.ManagedDataAccessIOP
    gacutil /u Oracle.ManagedDataAccess.EntityFramework
    
    • Der Eintrag System.Data.OracleClientsollte nicht entfernt werden, dieser wird von Microsoft installiert - keine Oracle-Komponente!

    • Stattdessen gacutil /u ...können Sie auch verwenden, OraProvCfg /action:ungac /providerpath:...wenn OraProvCfg noch auf Ihrem System verfügbar ist. Sie können es bei finden %ORACLE_HOME%\odp.net\managed\x64\OraProvCfg.exe.

  • Öffnen Sie mit einem Texteditor die XML-Konfigurationsdatei %SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.configund löschen Sie den Zweig <oracle.manageddataaccess.client>, falls vorhanden.

    • Machen Sie dasselbe mit:

      %SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
      %SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
      %SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\Config\web.config
      %SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\Config\web.config
      

    Anstatt die XML-Konfigurationsdatei manuell zu bearbeiten, können Sie sie auch ausführen (wenn OraProvCfg.exe auf Ihrem System noch verfügbar ist):

    %ORACLE_HOME%\odp.net\managed\x64\OraProvCfg.exe /action:unconfig /product:odpm /frameworkversion:v4.0.30319 
    %ORACLE_HOME%\odp.net\managed\x86\OraProvCfg.exe /action:unconfig /product:odpm /frameworkversion:v4.0.30319
    %ORACLE_HOME%\odp.net\managed\x64\OraProvCfg.exe /action:unconfig /product:odp /frameworkversion:v4.0.30319 
    %ORACLE_HOME%\odp.net\managed\x86\OraProvCfg.exe /action:unconfig /product:odp /frameworkversion:v4.0.30319
    
  • Überprüfen Sie die folgenden Registrierungsschlüssel und löschen Sie sie, falls vorhanden

    HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.Net
    HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.Net
    HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.ManagedDataAccess
    HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.ManagedDataAccess.EntityFramework6
    HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\odp.net.managed
    HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.DataAccess.EntityFramework6\
    
    HKLM\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.Net
    HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.Net
    HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.ManagedDataAccess
    HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.ManagedDataAccess.EntityFramework6
    HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\odp.net.managed
    HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.DataAccess.EntityFramework6\
    
    HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\Oracle Data Provider for .NET, Managed Driver
    HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\Oracle Data Provider for .NET, Unmanaged Driver
    HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\Oracle Provider for OLE DB
    
  • Löschen Sie den Inventarordner, normalerweise C:\Program Files\Oracle\InventoryundC:\Program Files (x86)\Oracle\Inventory

  • Löschen Temp - Ordner %TEMP%\deinstall\, %TEMP%\OraInstall\und %TEMP%\CVU*( zum Beispiel %TEMP%\CVU_11.1.0.2.0_domscheit) , falls vorhanden.

Wernfried Domscheit
quelle
Um Elemente aus dem GAC zu entfernen, müssen Sie möglicherweise gacutil.exe verwenden, das mit Visual Studio geliefert wird. Zum Beispiel 'gacutil / u Oracle.DataAccess'.
Scott-Pascoe
Wenn Sie GAC nicht finden konnten, folgen Sie diesem
Gokul
Löschen Sie außerdem Oracle * - und Oracle- Richtlinienordner aus "C: \ Windows \ Microsoft.NET \ Assembly \ GAC_32" und "C: \ Windows \ Microsoft.NET \ Assembly \ GAC_64".
Gokul
Löschen Sie auch OraInstall * -Ordner aus "C: \ Users \ <Benutzer> \ AppData \ Local \ Temp"
Gokul
@ Gokul, besser schreiben: Aus Ordner löschen, %TEMP%der auf einen anderen Ordner verweisen kann.
Wernfried Domscheit
8

Mach alles, was ziesemer vorschlägt.

Möglicherweise möchten Sie auch aus der Registrierung entfernen:

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\<any Ora* drivers> keys     

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers<any Ora* driver> values

Sie werden daher nicht mehr in den "ODBC-Treibern, die auf Ihrem System installiert sind" in ODBC Data Source Administrator angezeigt

ranni rabadi
quelle
Vergessen Sie nicht den 32-Bit-Eintrag auf einem 64-Bit-Windows:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\...
Wernfried Domscheit
4
Sei vorsichtig mit HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Microsoft ODBC for Oracle. Dieser Treiber wird von Microsoft bereitgestellt, dh Teil Ihrer Windows-Installation. Wenn Sie es entfernen, erhalten Sie es nicht zurück, wenn Sie eine neue Oracle Client-Installation durchführen.
Wernfried Domscheit
3

Mach alles, was ziesemer vorschlägt.

Vielleicht möchten Sie auch:

  • Beenden Sie die Oracle-bezogenen Dienste (bevor Sie sie aus der Registrierung löschen).
  • Suchen Sie in der Registrierung nicht nur nach Einträgen mit dem Namen "Oracle", sondern auch nach "ODP".
Pascal Sartoretti
quelle