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

63

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

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

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

  • 7
    Невероятно, что этот вопрос был закрыт модами, пост ниже был чрезвычайно полезным. Хотелось бы, чтобы они расширили сферу сообщества, включив в нее «что-нибудь полезное для разработчиков»
  • 1
    @fuzzyanalysis: Этот вопрос не был закрыт модераторами. Там нет бриллиантов рядом с этими именами. Они просто пользователи.
Показать ещё 2 комментария
Теги:
oracle11g

4 ответа

111

Предполагая установку 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 вернулась, чтобы не ошибочно считать исходный источник и не удалять кредит на другие комментарии, которые способствовали ответу. (и затем удалите этот комментарий), если можно найти способ сохранить эти соображения.)

  • 3
    Для 64-битных окон вам также необходимо удалить ключ HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ ORACLE
  • 3
    Во-первых, будьте осторожны при удалении «C: \ Program Files \ Oracle», оно может содержать и другие продукты. Во-вторых, вам может потребоваться очистить меню «Пуск» вручную;)
Показать ещё 4 комментария
5

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

  • Удалить записи реестра для MS Distributed Transaction Coordinator (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 из Global Assembly Cache (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
    
    • Entry 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 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
    
  • Проверьте следующие ключи реестра и удалите их, если существующие

    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), если они есть.

  • 0
    Чтобы удалить элементы из GAC, вам может потребоваться использовать gacutil.exe, который поставляется с Visual Studio. 'gacutil / u Oracle.DataAccess', например.
  • 0
    Если вы не смогли найти GAC, следуйте этому
Показать ещё 4 комментария
5

Сделайте все, что предлагает 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

  • 0
    Не забудьте 32-битную запись в 64-битной Windows: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\...
  • 4
    Будьте осторожны с HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Microsoft ODBC for Oracle . Этот драйвер предоставлен Microsoft, т.е. является частью вашей установки Windows. Когда вы удалите его, вы не получите его обратно при новой установке Oracle Client.
1

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню