Podemos saber fácilmente el tiempo que lleva una base de datos levantada mediante la query:

SELECT trunc(sysdate-startup_time) FROM sys.v_$instance;

En Nagios podemos añadir este test que da Warning si la base de datos lleva menos de 4 días levantada. No es un valor de Warning real, pero nos puede permitir detectar un reinicio de la base de datos por una caída por un posible error. El valor de 4 días nos permite cubrir la caída en un fin de semana.

Si esa alerta aparece nos limitaremos a ver si se ha tratado de un reinicio controlado o si por lo contrario hay entradas de error en el alert (o problemas de sistema operativo, hardware, alimentación…).

Editamos el fichero de commands.cfg añadiendo:

define command{
command_name    check_oracle_uptime
command_line    $USER1$/check_oracle_uptime.sh $ARG1$ $ARG2$ $ARG3$
}

Y la llamada del test con:

check_command                   check_oracle_uptime!nagios/nagios_pass!10.10.10.60:1521/sid!4