如何卸载/完全删除Oracle 11g(客户端)?
deinstall.bat不起作用。
修改:关于此问题被关闭和删除的原因的进一步讨论:https://meta.stackexchange.com/questions/190441/why-was-this-question-related-to-uninstalling-the-oracle-database-client-deleted
答案 0 :(得分:125)
假设安装了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不再可用或不起作用,只需按照其余步骤操作即可。
(Revision #7还原,不会错误引用原始来源,并且不会删除对其他评论做出贡献的信用。我们非常感谢其他评论(请删除此评论),如果可以找到一种方法来维持这些考虑因素。)
答案 1 :(得分:7)
您应该考虑更多行动:
删除MS分布式事务处理协调器(MSDTC)的注册表项
注意:在互联网上,我发现此步骤仅在单个(私人)页面上。我不知道它是否需要/正常工作,或者它是否破坏了你的电脑上的任何东西。
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 doc以查找所有与Oracle相关的环境变量,但除了上面列出的变量之外,它们在Windows客户端上很少使用:Oracle Environment Variables
取消注册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组件!
如果您的系统上仍然可以使用OraProvCfg,您也可以使用gacutil /u ...
代替OraProvCfg /action:ungac /providerpath:...
。您可以在%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
删除广告资源文件夹,通常是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
)。
答案 2 :(得分:6)
做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
因此,它们不再出现在系统上安装的&#34; ODBC驱动程序中。在ODBC数据源管理器
中答案 3 :(得分:2)
做ziesemer建议的所有事情。
您可能还想: