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.
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
Saludos.
¿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
saludos
Gracias
Gracias
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
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
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