如何卸载/完全删除Oracle 11g(客户端)?
deinstall.bat不起作用。
编辑: 关于为什么关闭和删除此问题的进一步讨论:https : //meta.stackexchange.com/questions/190441/why-was-this-question-related-to-uninstalling-the-oracle-database-client-已删除
如何卸载/完全删除Oracle 11g(客户端)?
deinstall.bat不起作用。
编辑: 关于为什么关闭和删除此问题的进一步讨论:https : //meta.stackexchange.com/questions/190441/why-was-this-question-related-to-uninstalling-the-oracle-database-client-已删除
Answers:
假设安装Windows,请参考以下内容:
http://www.oracle-base.com/articles/misc/ManualOracleUninstall.php
- 使用Oracle Universal Installer(OUI)卸载所有Oracle组件。
- 运行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”目录的内容。
- 清空回收站。
提请您进一步注意此处留下的一些重要评论:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE
从注册表中删除密钥。%ORACLE_HOME%
。%PATH%
。这组说明恰好与我在几年搞乱了Oracle的安装后多年对我自己进行反向工程的过程几乎完全相同,并且几乎始终可以满足需要。
请注意,即使OUI不再可用或不起作用,只需遵循其余步骤就足够了。
(修订版#7已还原为不会错误引用原始来源,也不会删除对促成答案的其他评论的信誉。如果可以找到一种方法来维护这些内容,请进一步编辑(然后删除此评论)。注意事项。)
您还应该考虑其他一些操作:
删除MS分布式事务处理协调器(MSDTC)的注册表项
注意:在Internet上,我仅在单个(私有)页面上找到了此步骤。我不知道它是否是必需的/是否正常工作,或者它是否破坏了PC上的任何内容。
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
输入regsvr32 /u oci.dll
,分别。%windir%\SysWOW64\regsvr32 /u oci.dll
在某些情况下,文件%ORACLE_HOME%\bin\oci.dll
被锁定,您无法删除它。在这种情况下,请重命名该文件(例如,将文件重命名为oci.dll.x),然后重新启动PC,然后再将其删除。
从全局程序集缓存(GAC)中删除Oracle .NET程序集。如果系统上可用,通常使用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
并删除branch <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
通常,删除库存文件夹 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
)如果存在的话。
%TEMP%
中删除,它可以指向其他文件夹。
尽一切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驱动程序”中
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\...
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Microsoft ODBC for Oracle
。此驱动程序由Microsoft提供,即Windows安装的一部分。删除它后,在安装新的Oracle Client时将不会找回它。