我正在尝试创建一个在Oracle中运行存储过程的作业。我曾尝试使用脚本和SQL Developer中的UI创建作业,但是没有任何运气。它显示在Scheduler / Jobs文件夹中,没有任何问题,并且所有详细信息均与脚本匹配。我已经将repeat_interval更改为更频繁地进行测试,但这并没有改变任何东西。手动运行该作业也不起作用,尽管它确实显示一个弹出窗口,指出“已成功处理SQL命令”。
我遍历了此答案中提到的配置列表:Oracle DBMS Job not running,但是一切似乎都是正确的。存储过程的运行没有任何问题,只是导致我出现问题的工作。
这是我一直在使用的脚本(repeat_interval的值是期望的结果,但是我一直在使用不同的值):
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'J_CAPTURE_TABLE_DATA_FOR_WEEK',
job_type => 'PLSQL_BLOCK', -- I've also tried 'STORED_PROCEDURE here
job_action => 'CAST.SP_CAPTURE_TABLE_DATA_FOR_WEEK',
comments => 'Capture Table data for older data',
start_date => SYSDATE,
end_date => null,
repeat_interval => 'FREQ=WEEKLY;BYDAY=MON;BYHOUR=2;',
enabled => true,
auto_drop => false,
number_of_arguments => 0);
COMMIT;
END;
所需结果:作业实际上按计划运行(或完全按计划运行)。