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.