Pular para o conteúdo
  • Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 3 anos, 1 mês atrás por Avatar de José Laurindo ChiappaJosé Laurindo Chiappa.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #147416
    Avatar de maperesmaperes
    Participante

      Boa tarde !

      Preciso de apoio nessa questão, por favor.

      Tenho um job que roda diariamente as 23 horas, no alert da base consta essa msg.

      alert :

      Sun Feb 21 23:00:01 2021

      ORA-12012: erro ao executar automaticamente o job 42
      ORA-12005: n▒o ▒ poss▒vel programar a atualiza▒▒o autom▒tica para horas no passado
      Sun Feb 21 23:02:01 2021

      ORA-12012: erro ao executar automaticamente o job 42
      ORA-12005: n▒o ▒ poss▒vel programar a atualiza▒▒o autom▒tica para horas no passado

       

      Só que fazendo um select na dba_jobs, o mesmo job não apresenta falha na execução.

      select job,broken,what,next_date,failures from dba_jobs where job=42;
      JOB BROKEN WHAT                                                                                                                                    NEXT_DATE FAILURES


      42     N                begin fis_prc_acerta_notas_transf(); exception when others then return; end;   22/02/2021        0

      Alguma idéia do que pode ser ?

      Oracle 12cR1 Standard

      Grato

      Marco Aurélio

      #147417
      Avatar de José Laurindo ChiappaJosé Laurindo Chiappa
      Moderador

        Blz ? Duas coisas aí : PRIMEIRO, se livre do exception when others – vc QUER SABER se deu erro, plz…
        E em SEGUNDO lugar, um JOB criado via DBMS_JOB NÂO é programado via Calendário : a expressão contida na coluna WHEN é executada APÒS o JOb ser executado com sucesso, se por Erro de programação seu vc escreveu uma expressão cujo cálculo resulta em data no passado, dá pau desse tipo… Pode olhar em http://www.dbaglobe.com/2009/12/ora-12005-may-not-schedule-automatic.html , http://www.dba-oracle.com/t_ora_12005_automatic_refresh.htm , https://community.oracle.com/mosc/discussion/3536118/ora-12005-may-not-schedule-automatic-refresh-for-times-in-the-past-for-mv e https://www.profissionaloracle.com.br/2009/05/19/ora-12005-may-not-schedule-automatic-refresh-for-times-in-the-past/ que TODOS ELES foram casos de Erro da pessoa que criou o JOB, normalmente não usando o TRUNC no SYSDATE ou coisa do tipo….

         

        []s

         

        Chiappa

        #147418
        Avatar de José Laurindo ChiappaJosé Laurindo Chiappa
        Moderador

          Ah, detalhe : JUSTAMENTE pra não ter que ficar fazendo continha com SYSDATE e não ter chance de errar, SE a tua versão de Oracle E a tua necessidade PERMITEM, eu recomendo FORTEMENTE que vc execute a tal rotina como um SCHEDULER JOB – nesse tipo de job pra vc indicar a frequência vc só passa argumentos tipo DAILY ou WEEKLY ou MONTHLY ou HOURLY, isso é Muuuuuuito mais Fácil e Simples do que fazer continha com SYSDATE, okdoc ?? Veja lá se é Viável isso pra sua situação especial…

           

          []s

           

          Chiappa

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.
        plugins premium WordPress