Як видалити / повністю видалити Oracle 11g (клієнт)?


79

Як видалити / повністю видалити Oracle 11g (клієнт)?

deinstall.bat не працює.

Редагувати: Подальше обговорення, пов’язане з тим, чому це питання було закрито та видалено: /meta/190441/why-was-this-question-related-to-uninstalling-the-oracle-database-client- видалено


7
неймовірно, що це питання було закрито модами, пост нижче був надзвичайно корисним. Хотіли б, щоб вони розширили сферу спільноти, включивши "все, що корисно для розробників".
Нечіткий аналіз

1
@fuzzyanalysis: Модератори не закрили це питання. Біля цих імен немає діамантів. Вони просто користувачі.
ель

5
Це запитання - 13 голосів «за», 3 обраних, 1 повторно відкритий голос та 69 870 переглядів - проте поки не буде видалено лише 1 голос, незважаючи на те, що він є цінним ресурсом. Якщо це вважається поза темою для SO, який інший сайт краще вважатиме темою? Чи зможе модератор перемістити це на правильний сайт - або, можливо, навіть захистити його, замість того, щоб ці знання по суті назавжди були втрачені?
ziesemer

Опубліковано в Super User: superuser.com/questions/256762/…
matt wilkie

Відповіді:


136

Припускаючи встановлення Windows, зверніться до цього:

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

  • Видаліть усі компоненти Oracle, використовуючи Oracle Universal Installer (OUI).
  • Запустіть regedit.exe та видаліть ключ HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE. Він містить реєстр усіх продуктів Oracle.
  • Видаліть будь-які посилання на служби Oracle, залишені в такій частині реєстру: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ora*Має бути досить очевидно, які з них стосуються Oracle.
  • Перезавантажте машину.
  • Видаліть каталог "C: \ Oracle" або будь-який інший каталог, який є вашим ORACLE_BASE.
  • Видаліть каталог "C: \ Program Files \ Oracle".
  • Очистіть вміст каталогу "C: \ temp".
  • Порожній кошик.

Звертаючи додаткову увагу на кілька чудових коментарів, які були залишені тут:

  • Будьте обережні, дотримуючись будь-чого, перерахованого тут (вище чи нижче), оскільки це може видалити або пошкодити будь-які інші продукти, встановлені Oracle.
  • Для 64-розрядної Windows (x64) також потрібно видалити HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLEключ із реєстру.
  • Очищення, видаливши всі пов’язані ярлики, які були встановлені в меню «Пуск».
  • Змінні середовища очищення:
    • Подумайте про видалення %ORACLE_HOME%.
    • Видаліть усі непотрібні шляхи з %PATH%.

Цей набір інструкцій відповідає майже ідентичному процесу, який я перепроектував протягом багатьох років після декількох заплутаних інсталяцій Oracle, і майже завжди задовольняв потребу.

Зауважте, що навіть якщо OUI більше не доступний або не працює, просто виконання інших кроків все одно має бути достатнім.

( Версія №7 скасовано, щоб не вводити неправильне цитування першоджерела та не видаляти кредит для інших коментарів, що сприяли відповіді. Подальші редагування будуть вдячні (а потім, будь ласка, видаліть цей коментар), якщо можна знайти спосіб зберегти ці міркувань.)


4
Для 64-розрядних вікон вам також потрібно видалити ключ HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ ORACLE
його

3
По-перше, будьте обережні, видаляючи "C: \ Program Files \ Oracle", він також може містити інші продукти. По-друге, вам може знадобитися очистити меню "Пуск" вручну;)
user123444555621

2
Не забудьте очистити налаштування шляху та видалити змінну середовища ORACLE_HOME.
Бред Брюс

1
це трохи дратує, що ти використовував / замість \: P
gbtimmon

1
@gbtimmon - Я припускаю, що ви маєте на увазі шляхи реєстру. Я просто цитував як було з оригінальної статті. Незалежно від того, вони виправлені зараз. :-)
ziesemer

10

Є ще кілька дій, які слід врахувати:

  • Видалення записів реєстру для координатора розподілених транзакцій MS (MSDTC)

    Примітка: в Інтернеті я знайшов цей крок лише на одній (приватній) сторінці. Я не знаю, чи потрібно це / працює, чи це щось порушує на вашому ПК.

    • Відкрийте Regedit
    • Перейдіть до HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\MTxOCI
    • Додати й перед кожним рядком для OracleOciLib, OracleSqlLibіOracleXaLib
    • Перейдіть до HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\MSDTC\MTxOCI
    • Додати й перед кожним рядком для OracleOciLib, OracleSqlLibіOracleXaLib

    В іншому випадку ці файли, якщо вони існують, все одно будуть використовуватись наступного разу при перезавантаженні та не зможуть бути видалені.

  • Видалення змінної середовища ORACLE_HOME, ORACLE_BASE, TNS_ADMIN, NLS_LANGпри наявності

    Перевірте також документ Oracle, щоб знайти всі змінні середовища, пов’язані з Oracle, однак, крім перелічених вище змінних, вони дуже рідко використовуються в клієнті Windows: Змінні середовища Oracle

  • Скасувати реєстрацію oci.dll

    • Відкрийте вікно командного рядка (меню Пуск -> Виконати ... -> cmd)
    • Введіть regsvr32 /u oci.dll, відп.%windir%\SysWOW64\regsvr32 /u oci.dll

    • У деяких випадках файл %ORACLE_HOME%\bin\oci.dllзаблоковано, і ви не можете його видалити. У такому випадку перейменуйте файл (наприклад, у oci.dll.x) і перезавантажте ПК, після чого ви зможете його видалити.

  • Видаліть збірки Oracle .NET із кешу глобальних збірок (GAC). Ви зазвичай робите це за допомогою утиліти gacutil , якщо вона доступна у вашій системі. Було б так:

    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
    
    • Запис System.Data.OracleClientне слід видаляти, цей встановлює Microsoft, а не компонент Oracle!

    • Замість цього gacutil /u ...ви також можете використовувати, OraProvCfg /action:ungac /providerpath:...якщо OraProvCfg все ще доступний у вашій системі. Ви можете знайти це за адресою %ORACLE_HOME%\odp.net\managed\x64\OraProvCfg.exe.

  • За допомогою текстового редактора відкрийте файл конфігурації XML %SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.configі видаліть гілку <oracle.manageddataaccess.client>, якщо вона існує.

    • Зробіть те ж саме з:

      %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
      

    Замість редагування файлу конфігурації XML вручну ви також можете запустити (якщо OraProvCfg.exe все ще доступний у вашій системі):

    %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
    
  • Перевірте наступні ключі реєстру та видаліть їх, якщо вони є

    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
    
  • Видаліть папку Інвентар, як правило, C:\Program Files\Oracle\InventoryтаC:\Program Files (x86)\Oracle\Inventory

  • Видаляти тимчасові папки %TEMP%\deinstall\, %TEMP%\OraInstall\і %TEMP%\CVU*(наприклад %TEMP%\CVU_11.1.0.2.0_domscheit) , якщо існуючий.


Щоб видалити елементи з GAC, можливо, вам доведеться використовувати gacutil.exe, який постачається з Visual Studio. Наприклад, "gacutil / u Oracle.DataAccess".
Скотт-Паско,

Якщо ви не змогли знайти GAC, дотримуйтесь цього
Gokul

Також видаліть oracle * і папки Oracle політики з "C: \ Windows \ Microsoft.NET \ Assembly \ GAC_32" і "C: \ Windows \ Microsoft.NET \ Assembly \ GAC_64".
Gokul

Також видаліть папки OraInstall * з "C: \ Users \ <user> \ AppData \ Local \ Temp"
Gokul,

@Gokul, краще написати: видалити з папки, %TEMP%яка може вказувати на іншу папку.
Вернфрід Домшайт,

8

Виконайте все, що запропонував ziesemer.

Ви також можете видалити з реєстру:

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

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

Тому вони більше не відображатимуться в "Драйверах ODBC, які встановлені у вашій системі" в адміністраторі джерел даних ODBC


Не забудьте 32-розрядний запис у 64-розрядному Windows:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\...
Вернфрід Домшайт

4
Будьте обережні з HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Microsoft ODBC for Oracle. Цей драйвер надається корпорацією Майкрософт, тобто частиною інсталяції Windows. Видаливши його, ви не повернете його під час інсталяції нового клієнта Oracle.
Вернфрід Домшайт,

3

Виконайте все, що запропонував ziesemer.

Ви також можете:

  • Зупиніть служби, пов’язані з Oracle (перед тим, як видалити їх із реєстру).
  • У реєстрі шукайте не лише записи з назвою "Oracle", а також, наприклад, "ODP".
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.