En el ultimo post mostre como poder asignar un password a listener, ahora voy a mostrar como automatizar subir y bajar el listener por medio de un shell script de oracle.
Anteriormente se menciono que una vez asignado el password al listener ya no se podian ejecutar comandos hasta dar el password de listener. Esto es lo que sucede si se da un comando antes de autentificarse:
LSNRCTL> stat
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xxx)(PORT=1521)))
TNS-01169: The listener has not recognized the password
Si agregamos el comando
lsnrctl start/stop
dentro de un shell script, este script nunca funcionaria. Por lo tanto se debe buscar una manera de poder darle el password dentro del script de manera segura, para esto, el lsnrctl nos permite poner el password encriptado.
Como se muestra aqui:
set password C92EDAE88E0FA666
Este password es el mismo que esta almacenado dentro del archivo listener.ora.
Ahora podemos crear un shell script que baje y suba el listener.
Este seria el script para subir el listener.
#!/bin/sh
# ==========================================================================
# Script: /home/oracle/scripts/backups/startlistener.sh
# Written by: Delfino Nunez
# First Release: 05-May-2006
# Purpose: Startup listener
# ==========================================================================
# M O D I F I C A T I O N S
# 05/05/06 Delfino Nunez Creation
# ==========================================================================
/ohome/oracle/app/product/9.2.0/bin/lsnrctl >> $LOGFILE << EOF
set password C92EDEE98E0FA357
start
exit
EOF
Para bajar el listener lo unico que se necesita cambiar es la instruccion start.
Una vez que ya se tienen los scripts se pueden candelarizar dentro del “cron”.