martes, 26 de febrero de 2008

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.

    3 comentarios:

    Rubén Coloma dijo...

    Excelente Post, me ha servido de mucho para poder configurar el Listener de Oracle para un proyecto de la Universidad. Gracias.

    Anónimo dijo...

    Muy útil la información, clara y concisa.

    saludos

    j. isaac dijo...

    Que buen blog tienes muchas felicidades, me ha aclarado muchas dudas, saludos