Criar um job que executa a cada 5min com fixed date setado

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
edmilson
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 18 Jul 2011 5:28 pm
Localização: sp

Informações do Ambiente:
* Versão do Oracle:oracle 11.0.2
* Sistema Operacional:Solaris 10





Boa tarde, estou com um base que esta com parameter fixed date setado para "20 AGO-2011 00:00:00" ,porém preciso criar um job que execute a cada 5min,
O problema é que a data nunca muda e o job nâo esta executando automaticamente.
Por favor alguém poderia me ajudar?

Informações do fixed date.

SYS@tisul66f > show parameter fixed

NAME TYPE
----- -------------
VALUE
---------
fixed_date string
20-AUG-11


TO_CHAR(SYSDATE,'DAY-MON-RRRRH
---------------------------------------------------------------------------
QUARTA-FEIRA -AGO-2011 00:00:00


begin
sys.DBMS_JOB.SUBMIT(jobno,
'insert into teste values (2, 2);' ,
TO_DATE('QUARTA-FEIRA, AGO 10, 2011 AM', 'DAY, MON DD, YYYY HH:MI:SS AM''),
'sysdate+ 5/1440');
commit;
end;
/


Obrigado
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Oi Edmilson.

Não tenho experiência em trabalhar em ambientes com FIXED_DATE, mas talvez você possa tentar usar a package DBMS_LOCK.SLEEP.

Você poderia criar uma procedure que faria o seguinte:

Selecionar tudo


CREATE OR REPLACE PROCEDURE SP_TESTE
IS
BEGIN
    LOOP
         <<aqui, uma chamada para sua procedure>>;
         DBMS_LOCK.SLEEP(5*60);
    END LOOP;
END SP_TESTE;

Depois, executaria ela uma unica vez com o DBMS_JOB. Creio que ela ficaria em LOOP infinito.

O problema é que não sei se o DBMS_LOCK.SLEEP será afetado ou não pelo FIXED_DATE. Você vai precisar fazer um teste em seu ambiente.

Se não funcionar, talvez possa fazer uma outra gambiarra, substituindo o DBMS_LOCK.SLEEP por algum "FOR ... LOOP" cujo processamento se aproxime dos 5 minutos desejados.

Abraços e boa sorte,

Sergio Coutinho
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 14 visitantes