Opa : então, já que vc não quer/não pode usar os utilitários prontos para isso 
(que seria o Enterprise Manager no caso - simples monitoração não exige Licença 
alguma) , repito que vc vai ter que escrever algo, PONTO - a sua escolha vai 
DEPENDER fundamentalmente portanto da sua habilidade/conhecimento em 
programação, a opção que vc conhecer melhor vc usa... 
 No caso, já que as opções fora do banco não estão descartadas, o óbvio seria 
escrever um shell script : principalmente vc estando no AIX, que é um 
unix-like, vc dispõe de N utilitários interessantes para manipular 
arquivos-texto, como awk, OU pode chamar o utilitário da Oracle para parsear 
log files, o ADRCI, e depois  e pra mandar email vc pode usar o comando mailx 
ou equivalentes : 
http://danthedba.blogspot.com.br/2009/06/shell-script-to-monitor-11g-oracle.html
 é um exemplo, mas com certeza se vc googlar vc acha vários outros para 
daptar...
 
 Se a seu conhecimento é melhor no PL/SQL, a primeira coisa como havia dito é 
criar uma rotina de envio de email : se vc goolgar vc acha Trocentos exemplos, 
um deles é 
http://www.oracle.com/technetwork/pt/articles/sql/enviando-emails-com-pl-sql-1958708-ptb.html
 ...Uma vez pronta a rotina, aí é simplesmente vc abrir um cursor que lê a 
informação do alert (pode ser via UTL_FILE, 
https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:1352202934074
 é um exemplo), pode ser com o objeto interno X$DBGALERTEXT introduzido no 11g 
(http://blog.tanelpoder.com/2009/03/21/oracle-11g-reading-alert-log-via-sql/ é 
o exemplo com sql, e http://www.oradba.ch/2013/07/query-alert-log-from-sqlplus/ 
exemplifica num script sqlplus), ou pode ser via external table, como havia 
dito 
(http://gavinsoorma.com/2009/06/querying-the-alert-log-using-external-tables/ é 
um exemplo)...
  Dentro desse simples cursor PL/SQL que vc vai escrever vc (via IF, talvez) 
consulta se a linha lida do alert contém ORA-xxx, se sim chama a procedure de 
enviar email que vc escreveu antes....Não tem segredo, okdoc ??
 
 Se vc engasgar nalguma parte da sua rotina, manda a listagem dela e explica o 
que vc estava tentando fazer que a gente tenta palpitar em cima, se vc 
precisar...
 
 []s
 
   Chiappa
   
  OBS : nem preciso dizer que vc VAI ter que bolar algum meio de 'marcar' o 
ORA-xxx como já resolvido (talvez carregando o erro e a data em que ele ocorreu 
pruma tabela Oracle que tenha uma coluna de flag indicando se a linha deve ser 
processada ou não, ou trabalha com o conceito de Incidente do ADRCI, ou qual 
derivação quiser), E vai ter também (claro) que implementar algum tipo de 
rotina de Limpeza desses dados....

Responder a