Ответ 1

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

Ответ 2

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

  • Удалить записи реестра для координатора распределенных транзакций 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), если они существуют.

Ответ 3

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

Ответ 4

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

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

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