日期:2014-05-17  浏览次数:20853 次

使用PL/SQL 创建定期任务(job任务),为何仅仅执行一次?
创建:
variable   MyWork   number;
begin
dbms_job.submit(:job1, 'myProcedures(1); ',sysdate, 'sysdate+1/1440 ');
commit;
end;

执行:
begin
dbms_job.run(:MyWork);
end;

执行后应该是每分钟执行一次存储过程   myProcedures(1),作用是对一张表插入当前系统时间的记录
但是发现仅仅执行了一次(插入一条记录)
这是什么原因?望各位赐教?

------解决方案--------------------
Job连续16次(好像是)失败会被阻塞(Broken),时间溢出(next_XXX的值会异常)也会造成没有执行。
------解决方案--------------------
BROKEN、LAST_SEC、NEXT_DATE、NEXT_SEC的值是什么呢???
------解决方案--------------------
我晕,是JOB_QUEUE_PROCESSES2值为0了所以执行一次
可以通过 select * from v$parameter 看看
通过 alter system set JOB_QUEUE_PROCESSES=10 修改后,再试试