¿Cómo desinstalar / eliminar completamente Oracle 11g (cliente)?

79

¿Cómo desinstalar / eliminar completamente Oracle 11g (cliente)?

deinstall.bat no funciona.

Editar: Más discusión relacionada con por qué se cerró y eliminó esta pregunta: /meta/190441/why-was-this-question-related-to-uninstalling-the-oracle-database-client- eliminado

Yves
fuente
7
Increíble que esta pregunta haya sido cerrada por mods, la publicación a continuación fue extremadamente útil. Ojalá ampliaran el alcance de la comunidad para incluir "cualquier cosa útil para los desarrolladores".
Análisis difuso
1
@fuzzyanalysis: los moderadores no cerraron esta pregunta. No hay diamantes junto a esos nombres. Son solo usuarios.
ale
5
Esta pregunta tiene 13 votos a favor, 3 favoritos, 1 voto de reapertura y 69,870 vistas, pero solo está a 1 voto de ser eliminado, a pesar de ser un recurso valioso. Si esto se considera fuera de tema para SO, ¿qué otro sitio sería mejor considerado dentro del tema? ¿Podría un moderador mover esto al sitio correcto, o tal vez incluso protegerlo, en lugar de perder este conocimiento para siempre?
ziesemer
Cubiertos en el Super Usuario: superuser.com/questions/256762/...
mate Wilkie

Respuestas:

136

Suponiendo una instalación de Windows, consulte esto:

http://www.oracle-base.com/articles/misc/ManualOracleUninstall.php

  • Desinstale todos los componentes de Oracle mediante Oracle Universal Installer (OUI).
  • Ejecute regedit.exe y elimine la clave HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE. Contiene entradas de registro para todos los productos Oracle.
  • Elimine cualquier referencia a los servicios de Oracle que haya quedado en la siguiente parte del registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ora*Debería ser bastante obvio cuáles se relacionan con Oracle.
  • Reinicie su máquina.
  • Elimine el directorio "C: \ Oracle", o cualquier directorio que sea su ORACLE_BASE.
  • Elimine el directorio "C: \ Archivos de programa \ Oracle".
  • Vacíe el contenido de su directorio "C: \ temp".
  • Vacíe su papelera de reciclaje.

Llamando la atención adicional sobre algunos excelentes comentarios que se dejaron aquí:

  • Tenga cuidado al seguir cualquier cosa que se enumera aquí (arriba o abajo), ya que hacerlo puede eliminar o dañar cualquier otro producto instalado por Oracle.
  • Para Windows de 64 bits (x64), también debe eliminar la HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLEclave del registro.
  • Limpie eliminando los accesos directos relacionados que se instalaron en el menú Inicio.
  • Variables del entorno de limpieza:
    • Considere eliminar %ORACLE_HOME%.
    • Elimine los caminos que ya no necesite %PATH%.

Este conjunto de instrucciones coincide con un proceso casi idéntico en el que yo mismo había realizado ingeniería inversa a lo largo de los años después de algunas instalaciones desordenadas de Oracle, y casi siempre ha cumplido con la necesidad.

Tenga en cuenta que incluso si el OUI ya no está disponible o no funciona, simplemente seguir los pasos restantes debería ser suficiente.

(La revisión n. ° 7 se revirtió para no citar incorrectamente la fuente original y para no quitar el crédito a los otros comentarios que contribuyeron a la respuesta. Se agradecen las modificaciones adicionales (y luego elimine este comentario), si se puede encontrar una manera de mantener estos consideraciones.)

ziesemer
fuente
4
Para ventanas de 64 bits, también necesita eliminar HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ ORACLE key
itsho
3
Primero, tenga cuidado al eliminar "C: \ Archivos de programa \ Oracle", también puede contener otros productos. En segundo lugar, es posible que deba limpiar su menú de inicio manualmente;)
user123444555621
2
No olvide limpiar la configuración de su ruta y eliminar la variable de entorno ORACLE_HOME.
Brad Bruce
1
es un poco molesto que hayas usado / en lugar de \: P
gbtimmon
1
@gbtimmon: supongo que se refiere a las rutas de registro. Simplemente había citado como estaba el artículo original. Independientemente, ahora están arreglados. :-)
ziesemer
10

Hay algunas acciones más que debe considerar:

  • Eliminar entradas de registro para el Coordinador de transacciones distribuidas de MS (MSDTC)

    Nota: en Internet encontré este paso solo en una sola página (privada). No sé si es necesario / funciona o si rompe algo en su PC.

    • Abrir Regedit
    • Navegar a HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\MTxOCI
    • Añadir una x antes de cada cadena para OracleOciLib, OracleSqlLibyOracleXaLib
    • Navegar a HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\MSDTC\MTxOCI
    • Añadir una x antes de cada cadena para OracleOciLib, OracleSqlLibyOracleXaLib

    De lo contrario, estos archivos, si existen, seguirán utilizándose la próxima vez que reinicie y no podrán eliminarse.

  • Retire la variable de entorno ORACLE_HOME, ORACLE_BASE, TNS_ADMIN,NLS_LANG si existen

    Consulte también el documento de Oracle para encontrar todas las variables de entorno relacionadas con Oracle; sin embargo, aparte de las variables enumeradas anteriormente, rara vez se utilizan en el cliente Windows: Variables de entorno de Oracle

  • Anular el registro de oci.dll

    • Abra una ventana de línea de comando (Menú Inicio -> Ejecutar ... -> cmd)
    • Entrar regsvr32 /u oci.dll, resp.%windir%\SysWOW64\regsvr32 /u oci.dll

    • En algunos casos, el archivo %ORACLE_HOME%\bin\oci.dllestá bloqueado y no puede eliminarlo. En tal caso, cambie el nombre del archivo (por ejemplo, oci.dll.x) y reinicie la PC, luego puede eliminarlo.

  • Elimine los ensamblados de Oracle .NET de la caché de ensamblados global (GAC). Normalmente, lo hace con la utilidad gacutil , si está disponible en su sistema. Sería así:

    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
    
    • La entrada System.Data.OracleClientno debe eliminarse, esta la instala Microsoft, ¡no es un componente de Oracle!

    • En lugar de gacutil /u ..., también puede usar OraProvCfg /action:ungac /providerpath:...si OraProvCfg todavía está disponible en su sistema. Puede encontrarlo en %ORACLE_HOME%\odp.net\managed\x64\OraProvCfg.exe.

  • Con un editor de texto, abra el archivo de configuración XML %SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.configy elimine la rama <oracle.manageddataaccess.client>, si existe.

    • Haz lo mismo con:

      %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
      

    En lugar de editar el archivo de configuración XML manualmente, también puede ejecutar (si OraProvCfg.exe todavía está disponible en su sistema):

    %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
    
  • Verifique las siguientes claves de registro y elimínelas si existen

    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
    
  • Elimine la carpeta Inventario, normalmente C:\Program Files\Oracle\InventoryyC:\Program Files (x86)\Oracle\Inventory

  • Eliminar carpetas temporales %TEMP%\deinstall\, %TEMP%\OraInstall\y %TEMP%\CVU*(por ejemplo %TEMP%\CVU_11.1.0.2.0_domscheit) si existe.

Wernfried Domscheit
fuente
Para eliminar elementos del GAC, es posible que deba usar gacutil.exe, que viene con Visual Studio. 'gacutil / u Oracle.DataAccess' por ejemplo.
scott-pascoe
Si no pudo encontrar GAC, siga esto
Gokul
También elimine oracle * y las carpetas de políticas de Oracle de "C: \ Windows \ Microsoft.NET \ assembly \ GAC_32" y "C: \ Windows \ Microsoft.NET \ assembly \ GAC_64".
Gokul
También elimine las carpetas OraInstall * de "C: \ Users \ <user> \ AppData \ Local \ Temp"
Gokul
@Gokul, mejor escribir: eliminar de la carpeta %TEMP%que puede apuntar a una carpeta diferente.
Wernfried Domscheit
8

Haz todo lo sugerido por ziesemer.

Es posible que también desee eliminar del registro:

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\<any Ora* drivers> keys     

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers<any Ora* driver> values

Por lo tanto, ya no aparecen en los "Controladores ODBC que están instalados en su sistema" en ODBC Data Source Administrator

ranni rabadi
fuente
No olvide la entrada de 32 bits en Windows de 64 bits:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\...
Wernfried Domscheit
4
Tenga cuidado con HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Microsoft ODBC for Oracle. Este controlador lo proporciona Microsoft, es decir, parte de su instalación de Windows. Cuando lo elimine, no lo recuperará cuando realice una nueva instalación de Oracle Client.
Wernfried Domscheit
3

Haz todo lo sugerido por ziesemer.

También puede querer:

  • Detenga los servicios relacionados con Oracle (antes de eliminarlos del registro).
  • En el registro, busque no sólo las entradas denominadas "Oracle", sino también, por ejemplo, "ODP".
Pascal Sartoretti
fuente