Pantallazo de OEM

Hablar de Oracle trae gratos recuerdos como la saga de IronMan y en especial la tercera entrega donde me transportaron a la nube de Oracle. El Enterprise Manager es un interfaz web con el que podemos gestionar la BD de Oracle: inicio/parada/blackout, ficheros, memoria, tareas, backups, usuarios, roles, y en definitiva todos los objetos que forman parte de los esquemas.

Pero no todo son parabienes. Tras una instalación aparentemente correcta de Oracle 11gr2 puede que el EM no arranque correctamente o de algún error. Puede ocurrir también que según el nombre de host, si por lo que sea no le gusta a Oracle no se pueda iniciar correctamente EM; por ejemplo por tener caracteres no admitidos en el nombre como _ : mi_nombre_de_host

¡Ojo! si quieres que al enterprise manager se pueda acceder desde equipos remotos tienes que meter un host reconocible desde fuera. Lo que se explica aquí es para trabajar con una instalación local.

Otra opción sería acceder a este equipo por Terminal Server y desde ahí al EM.

1. Cambia/añade nombre de host

Tenemos dos opciones, o bien cambiar el nombre de host, cosa que puede resultar peliaguda (no imposible como los antiguos SQLServer) con una instalación ya hecha, o bien darle al equipo otro nombre extra. Para eso, tanto en windows como en linux debemos cambiar el fichero hosts. Ese fichero es el primer DNS que un sistema mira para resolver nombres. No es más que un ficherillo de texto donde se introducen direcciones ip y su correspondiete nombre (o nombres) de host.

En linux se encuentra en /etc/hosts

En windows está en c:\Windows\System32\Drivers\net\hosts

Al editar ese fichero debes crear una entrada en la que indiques la dirección ip y seguidamente el nombre de host que quieras dar a tu máquina, con o sin dominio o ambos dos seguidos

192.168.1.42 orcl orcl.dominio.lan

Y por lo que más quieras. Esto es un mundo anglosajón. En algo tan crítico como un nombre de host en redes TCP/IP, que se remontan a los 70, no te empeñes en poner tildes, eñes, ni llames a tu equipo iñaki_el_pingüino_molón. Llama a tu host gandalf si quieres, renunciarás al castellano pero abrazarás un mundo con caracteres ascii de 7 bits con el que las cosas simplemente funcionan.

Asegúrate de que el cambio es correcto haciendo un ping en tu propia máquina:

ping orcl.dominio.lan

2. Modifica configuración de host Oracle

Si todo es correcto ahora debes cambiar la configuración en los listener.ora y tnsnames.ora. Básicamente ahí donde aparezca la palabra HOST indica el host que has metido.

En el listener.ora:

…
LISTENER =
 (DESCRIPTION_LIST =
   (DESCRIPTION =
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
     (ADDRESS = (PROTOCOL = TCP)(HOST = orcl.dominio.lan)(PORT = 1521))
   )
 )
...

En el tnsnames.ora:

…
ORCL =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = orcl.dominio.lan)(PORT = 1521))
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = orcl.dominio.lan)
   )
 )
...

NOTA: si tienes más de una BBDD basta con que cambies el host de uno de ellos, si quieres asignar más de un host crea más entradas en el

3. Tiramos el Enterprise Manager

Vamos a la consola. Previamente establecemos en la consola estas variables de entorno. No hace falta ponerlas fijas si no queremos, ahora las necesitamos para que esto arranque:

c:\DOS\> set ORACLE_SID=orcl

c:\DOS\ > set ORACLE_UNQNAME=orcl

c:\DOS\> set ORACLE_HOSTNAME=orcl.dominio.lan

Y ahora lanzamos este comando para tirar el Enterprise Manager

c:\> emca -deconfig dbcontrol db -repos drop

Esto inicia un asistente en el que indicamos SID y contraseñas y sigue para adelante.

Se supone que elimina el usuario SYSMAN. Si no fuera así, tenemos que hacerlo a mano ejecutando estas sentencias:

DROP USER sysman CASCADE;

DROP PUBLIC SYNONYM setemviewusercontext;

DROP ROLE mgmt_user;

DROP PUBLIC SYNONYM mgmt_target_blackouts;

DROP USER mgmt_view;

4. Regeneramos el Enterprise Manager

Usando la misma sesión de antes ejecutamos:

c:\DOS\> emca -config dbcontrol db -repos create

Eso inicia un asistente como el anterior. Al cabo de unos minutos, nos mostrará la URL del Enterprise Manager. Asegúrate de que tu navegador no va a un proxy o añade las excepciones necesarias si es preciso. Ya podrás entrar en tu EM.

¿No puedes entrar tampoco? ¿Te ha dado algún error? Una nota: debes ser Administrador de sistema para hacerlo. Y otra cosa importante. El comando anterior, en caso de errores genera unos logs y además te indica dónde están. Ábrelos y ahí tendrás la explicación del problema que ha encontrado.