Как удалить / полностью удалить Oracle 11g (клиент)? - PullRequest
75 голосов
/ 09 декабря 2011

Как удалить / полностью удалить Oracle 11g (клиент)?

deinstall.bat не работает.

Редактировать: Дальнейшее обсуждение связано с тем, почему этот вопрос был закрыт и удален: https://meta.stackexchange.com/questions/190441/why-was-this-question-related-to-uninstalling-the-oracle-database-client-deleted

Ответы [ 4 ]

128 голосов
/ 09 декабря 2011

При условии установки Windows, пожалуйста, обратитесь к этому:

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

  • Удалите все компоненты Oracle с помощью универсального установщика Oracle (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 больше не доступен или не работает,простого следования остальным шагам по-прежнему должно быть достаточно.

( Revision # 7 отменено, чтобы не вводить в кавычки исходный источник и не удалять кредит на другие комментарии, внесшие вклад вответ.Будем признательны за дальнейшие изменения (а затем удалите этот комментарий), если будет найден способ сохранить эти соображения.)

9 голосов
/ 14 октября 2015

Есть еще несколько действий, которые вы должны рассмотреть:

  • Удалить записи реестра для координатора распределенных транзакций MS (MSDTC)

    Примечание: в Интернете я нашел этот шаг только на одной (частной) странице. Я не знаю, требуется ли это / работает или что-то ломается на вашем компьютере.

    • Открыть Regedit
    • Перейдите к HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\MTxOCI
    • Добавьте x перед каждой строкой для OracleOciLib, OracleSqlLib и OracleXaLib
    • Перейдите к HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\MSDTC\MTxOCI
    • Добавьте x перед каждой строкой для 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 Config %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 Config вручную вы также можете запустить (если 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
    
  • Удалить папку Inventory, обычно 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), если они существуют.

6 голосов
/ 04 декабря 2014

Сделайте все, что предложено 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 Data Source Administrator

2 голосов
/ 05 мая 2015

Сделайте все, что предложено ziesemer.

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

  • Остановите службы, связанные с Oracle (перед удалением их из реестр).
  • В реестре ищите не только записи с именем "Oracle" но также, например, для "ODP".
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...