Monitorización de disco ASM

David SanzDavid Sanz
1 min read

Hola, pongo aquí un script que utilizo para monitorizar ASM de forma fácil y que enviara un email en caso que cumpla un requisito, en este caso tengo definido cuando este un 80% de ocupación o más.

#!/bin/sh

. /home/oracle/.bashrc

getInfo_Disk() {
    sqlplus -s ${VUSER}/${VPASS}@${LOCAL_SID} <<EOF
     SET PAGESIZE 0
     SET FEEDBACK OFF
     SET VERIFY OFF
     SET HEADING OFF
     SET ECHO OFF
    Select
        ListAgg(
       'Disk '|| Name||' Size_TB: '||(Total_Mb/1024/1024)||' Used_TB: '||Trunc(((Total_Mb - Free_Mb)/1024/1024),2)||' Use_%: '||Round((1 - (Free_Mb / Total_Mb)) * 100, 2) , Chr(10))
       Within Group (Order By Name) Info
    From V\$Asm_Diskgroup
    Where ( Round((1 - (Free_Mb / Total_Mb)) * 100, 2) ) >= 80
    Order By Name;
    set termout on
    exit;
EOF
}


   if [[ ! -z  "$(getInfo_Disk)" ]]
   then
     . /home/oracle/scripts/email.sh "Monitor Space Used by ASM disk with more 80%" "$(getInfo_Disk)"
   fi

El script lo programo vía crontab cada 5 minutos.

*/5 * * * * /home/oracle/scripts/check_asm.sh

Pongo un ejemplo de un envío de una alerta

¡Espero que os sirva!

1
Subscribe to my newsletter

Read articles from David Sanz directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

David Sanz
David Sanz

Soy desarrollador, Analista, DBA Oracle y Arquitecto OCI, certificado en OCI Migration and Integration Certified Professional y Certified Architect Associate con más de 15 años de experiencia en plataformas Oracle además de especialista en temas de rendimiento.