El Listener de Oracle no escucha en localhost

29/08/2013

oracle linux supportTras clonar una máquina virtual con linux y oracle, y cambiar el nombre y la IP de la misma, me encontré con el problema de que, al arrancar el lístener de Oracle, este no escuchaba en localhost.

Me di cuenta de ello usando el comando netstat:

rubensa@oraclebox:~>netstat -na | grep 1521
tcp4 0 0 10.10.10.100.1521 *.* LISTEN
tcp4 0 0 10.10.10.100.1521 10.10.10.1.1429 ESTABLISHED
tcp4 0 0 10.10.10.100.1521 10.10.10.100.32782 ESTABLISHED
tcp4 0 0 10.10.10.100.32782 10.10.10.100.1521 ESTABLISHED
tcp4 0 0 10.10.10.100.1521 10.10.10.100.32871 ESTABLISHED

De hecho, al intenter hacer un ‘telnet localhost 1521’ obtenía un error de conexión rechazada.

La solución

En este libro se nombra una serie de temas no documentados antes de la versión 11g de Oracle relacionados con la IP de Arranque. Se resumen en el simple requisito de que el listener de oracle no debería escuchar en el nombre de host largo o en la dirección IP sino que lo debe hacer en el nombre corto:

Fichero del listener de oracle original:

sudo cat /opt/oracle/product/10.2/network/admin/listener.ora.old

# listener.ora Network Configuration File: /opt/oracle/product/10.2/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.100)(PORT = 1521))
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = comp01.company.local)
(ORACLE_HOME = /opt/oracle/product/10.2)
(SID_NAME = comp01)
)
)

Fichero del listener de oracle modificado:

sudo cat /opt/oracle/product/10.2/network/admin/listener.ora

# listener.ora Network Configuration File: /opt/oracle/product/10.2/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oraclebox)(PORT = 1521))
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = comp01.company.local)
(ORACLE_HOME = /opt/oracle/product/10.2)
(SID_NAME = comp01)
)
)

Reinicio del Listener de Oracle

Una vez modificado, reiniciamos el listener con la nueva configuración:

lsnrctl stop
lsnrctl start

Por supuesto, estos comandos deberán ejecutarse por el usuario oracle.

Netstat

Ahora, el comando netstat devuelve la siguiente línea:

tcp4 0 0 *.1521 *.* LISTEN

vía

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: