Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafael de oliveira

Acertar horário do NextDate do Job.

Recommended Posts

Boa dia, criei um Job que vai executar uma procedure.

Quero que ele execute de 30 em 30 minutos.

begin
  sys.dbms_job.submit(job => :job,
                      what => 'LOG_RES_PROD_FECHADO_RESUMO;',
                      next_date => to_date('28-03-2014 09:00:00', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'SYSDATE+30/1440');
  commit;
end;

Atualmente ele executa da seguinte forma, começa as 09:00:00, o próximo ele joga para 09:30:06, depois 10:00:13 e assim por diante.
Ele muda de meia em meia hora porém esta acrescentando o tempo de execução a próxima execução.
Gostaria que não fosse assim, que executasse sempre que em horas certas 09:00:00, 09:30:00 e assim por diante.

 

Tentei colocar o intervalo dentro de um Trunc, ficando assim : interval => 'TRUNC(SYSDATE + 30/1440');
Mas ele da um erro dizendo que deve passar um valor de tempo futuro.

O que estou fazendo de errado na criação de Job e o que devo fazer para corrigir?

 

Obrigado a todos.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente

interval => '(SYSDATE + 30/1440');

Mas eu dexaria, por segurança, como estava, jobs deste tipo tem de ter um tratamento para que as execuções não se sobreponham caso ocorra algum erro ou demora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

 

Fiz dessa forma abaixo e deu certo, exatamente como gostaria.

begin
  sys.dbms_job.submit(job => :job,
                      what => 'LOG_RES_PROD_FECHADO_RESUMO;',
                      next_date => to_date('31-03-2014 15:00:00', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'trunc(SYSDATE,''HH24'')+((floor(to_number(to_char(SYSDATE,''MI''))/30)+1)*30)/(24*60)');
  commit;
end;

Obrigado pela ajuda e fica o código como ajuda para outras pessoas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.