› Fóruns › Banco de dados Oracle › MONITORIA DE BD › MONITORIA DE BD
Olá Vieri,
abaixo o script que utilizei para monitorar LogAlert num servidor Sun Solaris:
#!/bin/sh
#
Verifica erros na log e envia alerta.
#
Define variaveis do ambiente.
ORA_HOME=”/u01/oracle/proddb/8.1.7″
DIRWRK=”/u01/scripts”
logalert=$ORA_HOME”/admin/bdump/alert_PROD.log”
logctl=$DIRWRK”/_ctl/logckctl”
logfile=$DIRWRK”/_log/logcklog”
logwrk=$DIRWRK”/_temp/logalert”
logerr=$DIRWRK”/_temp/logckerr”
logerr1=$DIRWRK”/_temp/logckerr1″
logerr2=$DIRWRK”/_temp/logckerr2″
Remove arquivos temporarios
rm -f ${logerr}
Recupera a ultima linha da log a ser verificada
linant=awk '{print $1}' $logctl
Calcula numero de linhas de log geradas desde a ultima verificacao
wc -l $logalert > $logctl
linatu=awk '{print $1}' $logctl
numlin=expr $linatu - $linant
echo date” –> ultima linha: $linant linha atual: $linatu” >> $logfile
Lista log alerta e procura erro ORA-
tail -$numlin $logalert > ${logwrk}
cat ${logwrk} | grep -n ORA- | grep -v ORA-07445 | grep -v ORA-3217 > $logerr 2> /dev/null
if [ $? = 0 ];then
cat ${logerr} | awk -F: ‘{print $1}’ > ${logerr1}
for vlin in cat ${logerr1}; do
head -n${vlin} ${logwrk} | tail -2 >> ${logerr2};
done
cat ${logerr2} >> $logfile
${DIRWRK}/mailsnd logck ${logerr2} ALERT_LOG_DB_PROD 9 “O Alert_log DB_Prod gerou uma msg. de erro.”
rm -f ${logerr1}
rm -f ${logerr2}
rm -f ${logwrk}
else
${DIRWRK}/mailrst ALERT_LOG_DB_PROD logck
fi
[ ]’s
Valter Aquino
Visite meu blog:
http://valteraquino.blogspot.com