El listener

TNS Listener es un proceso servidor que provee la conectividad de red con la base de datos Oracle. El listener está configurado para escuchar la conexión en un puerto específico en el servidor de base de datos. Cuando una se pide una conexión a la base de datos, el listener devuelve la información relativa a la conexión. La información de una conexión para una instancia de una base de datos provee el nombre de usuario, la contraseña y el SID de la base de datos. Si estos datos no son correctos se devolverá un mensaje de error.

  • Por defecto el puerto del listener es el 1521
  • El listener no limita el número de conexiones a la base de datos

Toda la información del listener la contiene un archivo denominado listener.ora ( $ORACLE_HOME/network/admin. )

El comando para gestionar el listener es lsnrctl. Mediante este comando podemos:

  • Parar el listener.
  • Ver el estado del listener.
  • Arrancar el listener.
  • Rearrancar el listener.

  • SEGURIDAD LISTENER ORACLE 10G (securing the listener)
  • El principal paso para realizar la seguridad en el listener es ponerle una contraseña password.

    El primer método para poner una contraseña al listener es editando el fichero listener.ora y escribiendo la siguiente línea:

    PASSWORDS_LISTENER = orapass

    Cuando guardemos el fichero con los cambios realizamos un reload del listener

    lsnrctl> reload

    Nota: El comando para entrar en el listener es lsnrctl ( $ORACLE_HOME/bin )

    El segundo método para poder cambiar la contraseña al listener es el siguiente:

    lsnrctl> change_password

    Este comando te pedirá la clave antigua y la nueva clave.
    Si es la primera vez que ejecutas este comando la contraseña antigua ( old password ) habrá que dejarla en blanco.

    El comando SET y SAVE CONFIG permite guardar esos cambios en el listener porque ahora el listener está gobernado por un password.

    lsnrctl > set password

    lsnrctl > save config

    La información antigua se guardará enlistener.bck y listener.ora se actualizará con los nuevos datos.

    Ejemplo de configuración del listener.ora

    LISTENER9 =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 193.168.4.220)(PORT = 2484))
    )
    )
    )
    SID_LIST_LISTENER9 =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = orasite)
    (ORACLE_HOME = /oracle9/product/9.2.0)
    (SID_NAME = orasite)
    )
    )

    Parámetros del archivo:

    HOST: Dirección ip del servidor de base de datos

    PORT: Puerto de escucha de la base de datos ( por defecto suele ser el 1521 )

    CLOBAL_DB_NAME: Nombre de la base de datos

    ORACLE_HOME: Directorio de instalación de ORACLE ( ORACLE_HOME )

    SID_NAME: SID de la base de datos ( muchas veces coincide con el GLOBAL_DB_NAME )

    Este archivo incluye:

    • Direcciones de protocolo en las que acepta solicitudes de conexión.
    • Servicios de base de datos
    • Parámetros de control utilizados por el listener.

    Comentarios

    Rubén Coloma ha dicho que…
    Excelente Post, me ha servido de mucho para poder configurar el Listener de Oracle para un proyecto de la Universidad. Gracias.
    Anónimo ha dicho que…
    Buen Post, si hay aplicaciones de terceros que se conectan a la base de datos Oracle, y el listener tiene contraseña, estas aplicaciones podrán seguir operando, es necesario configurar los parametros del listener en las aplicaciones??

    Saludos.
    Anónimo ha dicho que…
    Como parar y reiniciar el listener desde el Enterprise Manager ? estoy usando win 7 64 bits y Oracle 11gR1.....me pide usuario y clave, que usuario le escribo?
    Anónimo ha dicho que…
    Una pregunta: si se reincia el Listener (apago, borro el fichero de .log y lo arranco de nuevo):
    ¿las sesiones abiertas contra la base de datos se caen?

    Es decir, puedo reinciar el Listener en un momento dado sin perjudicar a los usuarios ya conectados a la BD ?

    Gracias
    Anónimo ha dicho que…
    Muy útil la información, clara y concisa.

    saludos
    j. isaac legorreta ha dicho que…
    Que buen blog tienes muchas felicidades, me ha aclarado muchas dudas, saludos
    Edwin ha dicho que…
    Buen información sobre el listener, de forma sencilla haz aclarado muchas dudas que tenía sobre el tema.

    Gracias
    Edwin ha dicho que…
    Buen información sobre el listener, de forma sencilla haz aclarado muchas dudas que tenía sobre el tema.

    Gracias
    Victor ha dicho que…
    Hola sabes aparte del puerto 1521, podemos utilizar para hacer debug? gracias.
    Victor ha dicho que…
    Hola sabes aparte del puerto 1521, podemos utilizar para hacer debug? gracias.
    Victor ha dicho que…
    Hola sabes aparte del puerto 1521, podemos utilizar para hacer debug? gracias.
    Victor ha dicho que…
    Hola sabes aparte del puerto 1521, podemos utilizar para hacer debug? gracias.
    Victor ha dicho que…
    Hola sabes aparte del puerto 1521, podemos utilizar para hacer debug? gracias.
    diseñadora_nueva ha dicho que…
    hola, yo solo tengo estas lineas de codigo en mi listener:

    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxxxxxxxxxx)(PORT = 1521))
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    )

    veo que tu tienes mas
    tengo un servidor en donde estan instalados 2 instancias, solo un listener esta funcionando, el otro no, no se que hacer, agradeceria tu ayuda.

    Saludos
    diseñadora_nueva ha dicho que…
    hola, yo solo tengo estas lineas de codigo en mi listener:

    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxxxxxxxxxx)(PORT = 1521))
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    )

    veo que tu tienes mas
    tengo un servidor en donde estan instalados 2 instancias, solo un listener esta funcionando, el otro no, no se que hacer, agradeceria tu ayuda.

    Saludos
    diseñadora_nueva ha dicho que…
    hola, yo solo tengo estas lineas de codigo en mi listener:

    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxxxxxxxxxx)(PORT = 1521))
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    )

    veo que tu tienes mas
    tengo un servidor en donde estan instalados 2 instancias, solo un listener esta funcionando, el otro no, no se que hacer, agradeceria tu ayuda.

    Saludos

    Entradas populares de este blog

    What is trigger?

    Actualizar las estadísticas

    Errores de conexión de Oracle