如何卸载/完全删除Oracle 11 g(客户端)?[关闭]

fd3cxomn  于 2023-06-22  发布在  Oracle
关注(0)|答案(4)|浏览(160)

**已关闭。**此问题为not about programming or software development。目前不接受答复。

这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
9个月前关闭。
截至6天前,社区正在审查是否重新讨论这个问题。
Improve this question
如何卸载/完全删除Oracle 11 g(客户端)?
运行deinstall.bat不起作用。

**编辑:**进一步讨论为什么关闭并删除此问题:Why was this question related to uninstalling the Oracle Database Client deleted?

2fjabf4q

2fjabf4q1#

假设安装了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”目录的内容。
  • 清空回收站。

请注意这里留下的一些很棒的评论:

  • 在执行此处(上面或下面)列出的任何操作时请务必小心,因为这样做可能会删除或损坏任何其他Oracle安装的产品。
  • 对于64位Windows(x64),您还需要从注册表中删除HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE项。
  • 通过删除安装到“开始”菜单的任何相关快捷方式进行清理。
  • 清理环境变量:
  • 考虑删除%ORACLE_HOME%
  • %PATH%中删除不再需要的所有路径。

这组指令恰好匹配一个几乎相同的过程,在几次混乱的Oracle安装之后,我自己进行了多年的反向工程,并且几乎总是满足需要。
请注意,即使OUI不再可用或无法工作,只需遵循其余步骤就足够了。
Revision #7回复为不误引原始来源,也不删除对回答有贡献的其他评论的功劳。进一步的编辑是赞赏(然后请删除此评论),如果可以找到一种方法来保持这些考虑。)

ctzwtxfj

ctzwtxfj2#

还有一些你应该考虑的行动:

  • 删除MS分布式事务处理协调器(MSDTC)的注册表项

注意:在互联网上,我只在一个单独的(私人)页面上找到了这个步骤。我不知道它是否是必需的/工作或如果它打破了你的电脑上的任何东西。

  • 打开注册表编辑
  • 导航到HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\MTxOCI
  • OracleOciLibOracleSqlLibOracleXaLib的每个字符串前添加一个x
  • 导航到HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\MSDTC\MTxOCI
  • OracleOciLibOracleSqlLibOracleXaLib的每个字符串前添加一个x

否则,这些文件(如果存在)将在下次重新启动时仍在使用,并且无法删除。

  • 删除环境变量ORACLE_HOMEORACLE_BASETNS_ADMINNLS_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)并重新启动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,您也可以使用OraProvCfg /action:ungac /providerpath:...来代替gacutil /u ...。你可以在%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
%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\InventoryC:\Program Files (x86)\Oracle\Inventory
  • 删除临时文件夹%TEMP%\deinstall\%TEMP%\OraInstall\%TEMP%\CVU*(例如%TEMP%\CVU_11.1.0.2.0_domscheit)(如果存在)。
sauutmhj

sauutmhj3#

做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驱动程序”中

ctehm74n

ctehm74n4#

做ziesemer建议的一切。
您可能还需要:

  • 停止与Oracle相关的服务(在从注册表中删除这些服务之前)。
  • 在注册表中,不仅要查找名为“Oracle”的条目,还要查找例如“ODP”。

相关问题