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
Criar um job que executa a cada 5min com fixed date setado
- stcoutinho
- 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:
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
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:
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;
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
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes