O alert.log é o “jornal do DBA”, como diria o professor Milton Goya. E, é obrigatório ao DBA estar sempre atento às últimas notícias do banco.
É possível verificar o alert a Partir do Sistema Operacional, utilizando comandos como o more, tail ou mesmo o vi; a partir da ferramenta ADRCI, ou através de consultas SQL, via SQL*Plus ou similares.
Abaixo, segue alguns scripts para verificar o alert.log a partir do SQL*Plus:
Script básico: Verificar todo o alert.log (com o usuário SYS):
select * x$dbgalertext;
Para verificar todas as entradas do último dia:
select to_char (ORIGINATING_TIMESTAMP, 'DD-MM-YYYY HH24:MI') data, message_text from x$dbgalertext where ORIGINATING_TIMESTAMP > (SYSDATE -1);
Para verificar as 100 últimas linhas:
select to_char (ORIGINATING_TIMESTAMP, 'DD-MM-YYYY HH24:MI') data, message_text from x$dbgalertext where indx > (select count(*)-100 from v$alert_log );
Para retornar apenas erros ORA- ocorridos no último dia:
select to_char (ORIGINATING_TIMESTAMP, 'DD-MM-YYYY HH24:MI') data, message_text from x$dbgalertext where ORIGINATING_TIMESTAMP > (SYSDATE -1) and message_text like '%ORA-%'
OBS: Para visualizar os dados da x$dbgalertext com outro usuário, crie uma view a partir dela, e dê privilégio de consulta ao usuário:
CREATE VIEW v$alert_log AS SELECT * FROM x$dbgalertext; CREATE PUBLIC SYNONYM v$alert_log FOR v$alert_log; GRANT SELECT ON v$alert_log TO lilian;
A partir disso, é possível utilizar os script acima com outros usuários, porém você deve substituir “x$dbgalertext” por “v$alert_log“.
Abçs!
This post first appeared on Blog Da LÃlian Barroso – DBA | Um Pouco Sobre B, please read the originial post: here