问题假设有一个存储过程p_test如何才能每分钟执行一次?
解答
把initora中如下两个参数打开
JOB_QUEUE_INTERVAL=
JOB_QUEUE_PROCESSES=
job_queue_keep_connections=true
然后重启一个库如果原来已经打开了则不用这步了
示例以下由sqlplus 来执行具体参照一下相关的文档
VARIABLE jobno number;
BEGIN
DBMS_JOBSUBMIT(:jobno
p_test;
SYSDATESYSDATE + /);
commit;
END;
DBMS_JOBSUBMIT(:jobno//job号
your_procedure;//要执行的过程
trunc(sysdate)+///下次执行时间
trunc(sysdate)+/+//每次间隔时间
);
删除job:dbms_jobremove(jobno);
修改job:dbms_jobwhat(jobnowhat);
修改下次执行时间dbms_jobnext_date(jobnext_date);
修改间隔时间dbms_jobinterval(jobinterval);
停止job:dbmsbroken(jobbrokennextdate);
启动job:dbms_jobrun(jobno);
例子
VARIABLE jobno number;
begin
DBMS_JOBSUBMIT(:jobno
Procdemo;
SYSDATE SYSDATE + /);
commit;
end;