Ola Andre!
Bom, um JOB seria a melhor saida, porém você tem que verificar quanto tempo esta procedure demora para ser execultada, pois se ela demorar muito, um job poderá ser preocupante, aonde um job que vai radar a cada 1 min pode acabar criando varias sessões em seu banco, ou seja, caso a procedure demore mais do que 1 min, serão 2 jobs rodando ao mesmo tempo e assim sucessivamente.
Abaixo job para rodar a cada 1 min!!!:
[b]begin
sys.dbms_job.submit(job => :job,
what => ‘BEGIN
NOME DA SUA PROCEDURE;
COMMIT;
END;’,
next_date => to_date(‘DD-MM-AAAA HH:MM:SS’, ‘dd-mm-yyyy hh24:mi:ss’),
interval => ‘SYSDATE + 10/14400’);
commit;
end;[/b]
Após criado o JOB, logue em seu banco como system e rode o comando:
alter system set job_queue_processes=10
Este comando irá mandar 10 processos em BackGround em seu banco, fazendo com que o job sempre execulte.
OBS: Mas antes de criar o job verifique o tempo máximo de execução da sua procedure.
Abracos
Regis Araujo
DBA Oracle Jr