Cuando una instalación de Grid Control falla por cualquier motivo, dejar la instalación limpia para poder volver a ejecutarla puede ser bastante tedioso.

Este es el procedimiento que he elaborado a partir de los problemas que me han ido surgiendo en una máquina UNIX.

./runInstaller -deinstall
Ir a "Installed Products"
Desinstalar todo

Esto debería ser todo, pero te habrán quedado restos en el inventario y al volver a lanzar la instalación te aparecería el error: "ORACLE_MIDDLEWARE_HOME_LOCATION subdirectory already exists". Si se da el caso:

Buscamos ruta del oraInventory:
cat /etc/oraInst.loc
inventory_loc=/oracle/oraInventory

cd /oracle/oraInventory
ls -l


Deben estar los directorios: backup y ContentsXML.

cd ContentsXML
vi inventory.xml


Borrar todas las entradas HOME NAME

#<home idx="3" type="O" loc="/oracle/product/11.2.0/Middleware/oms11g" name="oms11g1">
#<home idx="4" type="O" loc="/oracle/product/11.2.0/Middleware/agent11g" name="agent11g1">
#<home idx="5" type="O" loc="/oracle/product/11.2.0/Middleware/oracle_common" name="common11g1">
#<home idx="6" type="O" loc="/oracle/product/11.2.0/Middleware/Oracle_WT" name="webtier11g1">


Debajo del directorio "backup" también pueden haber más entradas que deben ser borradas para cada inventory.xml de la misma manera:

cd ../backup
grep -i inventory */*/in*


Una vez has borrado todas las entradas, ir a la localización donde está instalado Middleware:

cd /oracle/product/Middleware
rm -rf oms11g agent11g oracle_common Oracle_WT


Vaciar
/tmp.

Además, hay que eliminar el repositorio:

Borrar el repositorio desde la máquina donde está la base de datos de repositorio:
$ORACLE_HOME/sysman/admin/emdrep/bin/RepManager <host> <puerto> <instancia> -action drop -repos_user SYSMAN -repos_password <password>

Dirá que lo ha eliminado satisfactoriamente, aunque pueden quedar objetos inválidos que también habrá que eliminar, aunque intentamos recompilar primero. Cualquier objeto inválido perteneciente al esquema SYSMAN_MDS o SYSMAN, se debe eliminar. Incluso podemos eliminar el esquema completo de SYSMAN_MDS:
SQL> @/oracle/product/10.2.0/rdbms/admin/utlrp.sql
SQL> select from dba_objects where status<>'VALID';
SQL> drop user sysman_mds cascade;
SQL> select from dba_objects where status<>'VALID';
SQL> drop <TIPO DE OBJETO> <PROPIETARIO>.<NOMBRE OBJETO>;
<TIPO DE OBJETO> dropped.
[…]


Además, en la tabla SCHEMA_VERSION_REGISTRY quedará una línea que hay eliminar:
SQL> SELECT comp_name, version, status, mrc_name from SCHEMA_VERSION_REGISTRY where COMP_NAME='Metadata Services';

SQL> delete from SCHEMA_VERSION_REGISTRY where COMP_NAME='Metadata Services';
1 row deleted.
SQL> commit;


Antes de volver a lanzar la instalación, asegurarse de que hay espacio en
/tmp.

En caso de que también queramos desinstalar Weblogic 10.3.2:
/..../Middleware/wlserver_10.3/uninstall/uninstall.sh

Y esto es todo.