- This topic has 2 replies, 2 voices, and was last updated 3 years, 8 months ago by José Laurindo Chiappa.
-
AuthorPosts
-
22 de fevereiro de 2021 at 4:24 pm #147416maperesParticipant
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 2021ORA-12012: erro ao executar automaticamente o job 42
ORA-12005: n▒o ▒ poss▒vel programar a atualiza▒▒o autom▒tica para horas no passadoSó 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
23 de fevereiro de 2021 at 12:23 pm #147417José Laurindo ChiappaModeratorBlz ? 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
23 de fevereiro de 2021 at 12:42 pm #147418José Laurindo ChiappaModeratorAh, 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
-
AuthorPosts
- You must be logged in to reply to this topic.