- Este tópico contém 6 respostas, 3 vozes e foi atualizado pela última vez 14 anos, 4 meses atrás por
felipeg.
-
AutorPosts
-
20 de outubro de 2011 às 4:51 pm #101327
DBA_LUCAS
ParticipanteCaros amigos , estou precisando da ajuda para fazer um JOB , e como nunca fiz estou com um pouco de dificuldade , tenho uma procedure e quero executa-la através de um job a cada 10 dias , alguem pode me ajudar ?
20 de outubro de 2011 às 5:27 pm #101329felipeg
ParticipanteSe você está na versão 10g ou superior sugiro usar scheduler.
Mas é um negócio meio complicadinho, da uma lida nesses links abaixo:http://www.oracle-base.com/articles/10g … ler10g.php
http://download.oracle.com/docs/cd/B193 … _sched.htmSeu exemplo ficaria mais ou menos assim
begin DBMS_SCHEDULER.create_job (
job_name => 'Exec_SUA_PROCEDURE',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN SUA_PROCEDURE; END;',
start_date => '18/02/11 23:30:00 -02:00',
repeat_interval => 'FREQ=DAILY; INTERVAL=10',
end_date => NULL,
enabled => TRUE,
comments => 'Execução do procedimento SUA_PROCEDURE'); END;
E para eliminar
begin DBMS_SCHEDULER.drop_job ('Exec_SUA_PROCEDURE') END;
Lembrando que seus parâmetros de data são baseados nas configurações do seu banco.
Atenciosamente,
Felipe.20 de outubro de 2011 às 6:51 pm #101333jspaulonci
ParticipanteLucas, siga o que o felipeg disse, realmente é a melhor opção, é chato, porem o SCHEDULER é mais robusto. Na versão 11g a Oracle ainda manteve o DBMS_JOB.
20 de outubro de 2011 às 11:11 pm #101336DBA_LUCAS
ParticipanteNão esta funcionando , estou logando na base rodando o script abaixo , minha procedure chama EXPIRA_AF , estou fazendo algo errado ? O que seria o -2:00 no start_date ?
begin DBMS_SCHEDULER.create_job (
job_name => 'Exec_EXPIRA_AF',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN SUA_PROCEDURE; END;',
start_date => '20/10/2011 17:09:00 -02:00',
repeat_interval => 'FREQ=DAILY; INTERVAL=10',
end_date => NULL,
enabled => TRUE,
comments => 'Teste Lucas');
END;
20 de outubro de 2011 às 11:17 pm #101337felipeg
ParticipanteDuas coisas
job_action => ‘BEGIN SUA_PROCEDURE; END;’,
start_date => ’20/10/2011 17:09:00 -02:00′,O nome da sua proc é SUA_PROCEDURE?
Da um select systimestamp from dual e vê a sua configuração de datahoraAtenciosamente,
Felipe.20 de outubro de 2011 às 11:51 pm #101338DBA_LUCAS
ParticipanteDeu certo ! Muito obrigado galera !
21 de outubro de 2011 às 2:32 pm #101339felipeg
ParticipanteDe nada cara…
Mas já fica a dica, estude bem sobre essa funcionalidade, dá pra fazer MUITA coisa com ela 8)
Atenciosamente,
Felipe. -
AutorPosts
- Você deve fazer login para responder a este tópico.