Pular para o conteúdo

Fóruns Banco de dados Oracle MONITORIA DE BD MONITORIA DE BD

#94915
vjaquino
Participante

    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