Ad Widget

Collapse

Duvida com Trigger

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Renato
    Junior Member
    • Mar 2016
    • 2

    #1

    Duvida com Trigger

    Estou com dificuldades para criar uma trigger para leitura do alert_log do Oracle

    A trigger abaixo está funcionando, porem, ela fica sempre ativa.

    {Template Oracle:log[{$ALERT_LOG},ORA-].str("ORA-00600")}=1 or
    {Template Oracle:log[{$ALERT_LOG},ORA-].str("ORA-07445")}

    Seria possivel colocar ela para ler apenas as ultimas linhas do log?

    Obrigado
  • igor.nicoli
    Junior Member
    • Mar 2015
    • 3

    #2
    Esse tipo de trigger sempre fica ativa "alarmando" por que não tem um gatilho pra invalidar o evento que a iniciou. Eu costumo utilizar o "nodata" para voltar ela para o status (OK) depois de um certo tempo.

    As triggers para o alertlog do oracle, eu costumo montar individualmente por código ORA, ficando assim:

    Code:
    {Template Oracle ASM:log[{#ALERTLOG},ORA-,,,skip].regexp(ORA-07445)}>0
    and
    {Template Oracle ASM:log[{#ALERTLOG},ORA-,,,skip].nodata(29s)}=0
    Mas informações sobre monitoramento de log, podem ser encontradas aqui ( Monitoramento de arquivos de Log)

    Comment

    • Renato
      Junior Member
      • Mar 2016
      • 2

      #3
      Igor, obrigado pela ajuda.

      Consegui resolver meu caso assim:

      ({Template DB Oracle RDBMS Server:log[{$ALERT_LOG},ORA-].str("ORA-00367")}=1 or
      {Template DB Oracle RDBMS Server:log[{$ALERT_LOG},ORA-].str("ORA-00600")}=1 or
      {Template DB Oracle RDBMS Server:log[{$ALERT_LOG},ORA-].str("ORA-01242")}=1 or
      {Template DB Oracle RDBMS Server:log[{$ALERT_LOG},ORA-].str("ORA-01243")}=1 or
      {Template DB Oracle RDBMS Server:log[{$ALERT_LOG},ORA-].str("ORA-01578")}=1 or
      {Template DB Oracle RDBMS Server:log[{$ALERT_LOG},ORA-].str("ORA-01652")}=1 or
      {Template DB Oracle RDBMS Server:log[{$ALERT_LOG},ORA-].str("ORA-01653")}=1 or
      {Template DB Oracle RDBMS Server:log[{$ALERT_LOG},ORA-].str("ORA-07445")}=1 or
      {Template DB Oracle RDBMS Server:log[{$ALERT_LOG},ORA-].str("ORA-16038")}=1) and
      {Template DB Oracle RDBMS Server:log[{$ALERT_LOG},ORA-].nodata(30m)}=0

      Comment

      • igor.nicoli
        Junior Member
        • Mar 2015
        • 3

        #4
        É isso ai !

        Eu gosto de usar (regexp) pois é mais robusto e poderoso, mas com (str) também funciona.

        Comment

        Working...