Hoy os voy a enseñar un pequeño script en bash que nos va a mostrar el numero de sesiones en una instancia de una base de datos Oracle, dicho script podemos adaptarlo y usarlo en sistemas de monitorización basados en Nagios.
Ahora que ya sabemos como usar neustros propios scripts a través de SNMP, podemos usar éste para consultar el numero de sesiones usando snmpget.
Para poder ejecutar este script debemos conocer la ruta donde se encuentra la instalación de nuestro cliente de oracle y disponer de un usuario que pueda consultar el numero de sesiones.
#!/bin/bash #Es necesario exportar las varibales de ORACLE
export ORACLE_BASE=/opt/dbigcloud/oracle export ORACLE_HOME=/opt/dbigcloud/oracle export ORACLE_TERM=xterm export ORACLE_OWNER=oracle
if [ $# -eq 1 ] then CONEXIONES=`/opt/dbigcloud/oracle/bin/sqlplus -S <"><">dbigcloud/Password@$1 <;< EOF
select count(*) from gv\\$session where username is not null;
exit
EOF`
/bin/echo $CONEXIONES | /usr/bin/awk {'print $3'} else /bin/echo 'conexiones_oracle.sh SID' fi
Por ejemplo llamamos el script conexiones_oracle.sh, le damos permisos de ejecución y lo invocamos pasandole por parametro el nombre de la instancia.
dbigcloud [dbigcloud01:~/] >chmod +x /opt/dbigcloud/scripts/conexiones_oracle.sh dbigcloud [dbigcloud01:~/] >/opt/dbigcloud/scripts/conexiones_oracle.sh ORA-DBC01 146
De esta forma tan sencilla podemos monitorizar las sesiones que hay en nuestras instancias en todo momento.