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

时间:2011-12-09 19:32:11

标签: oracle oracle11g

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

deinstall.bat不起作用。

修改:关于此问题被关闭和删除的原因的进一步讨论:https://meta.stackexchange.com/questions/190441/why-was-this-question-related-to-uninstalling-the-oracle-database-client-deleted

4 个答案:

答案 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”目录的内容。
  •   
  • 清空回收站。
  •   

再次关注留下的一些好评:

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

这套指令碰巧与几乎完全相同的过程相匹配,这些过程是我在几次混乱的Oracle安装后反复设计的,并且几乎总能满足需求。

请注意,即使OUI不再可用或不起作用,只需按照其余步骤操作即可。

Revision #7还原,不会错误引用原始来源,并且不会删除对其他评论做出贡献的信用。我们非常感谢其他评论(请删除此评论),如果可以找到一种方法来维持这些考虑因素。)

答案 1 :(得分:7)

您应该考虑更多行动:

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

    注意:在互联网上,我发现此步骤仅在单个(私人)页面上。我不知道它是否需要/正常工作,或者它是否破坏了你的电脑上的任何东西。

    • 打开Regedit
    • 导航至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 doc以查找所有与Oracle相关的环境变量,但除了上面列出的变量之外,它们在Windows客户端上很少使用:Oracle Environment Variables

  • 取消注册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,您也可以使用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\InventoryC:\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建议的所有事情。

您可能还想:

  • 停止与Oracle相关的服务(在从中删除它们之前) 注册表)。
  • 在注册表中,不仅要查找名为“Oracle”的条目 但也可以是为“ODP”。
相关问题