Как удалить/полностью удалить Oracle 11g (клиент)?
Как удалить/полностью удалить Oracle 11g (клиент)?
deinstall.bat не работает.
Изменить: Дальнейшее обсуждение связано с тем, почему этот вопрос был закрыт и удален: https://meta.stackexchange.com/info/190441/why-was-this-question-related-to-uninstalling-the-oracle-database-client-deleted
Ответы
Ответ 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>
, если она существует.
Вместо редактирования файла 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".