我在oracle 11g
我创建了一个名为" MyJob"以固定的日期/小时运行。
这项工作创造得很好。
当作业在固定日期/小时正确执行时,作业显然已从表 dba_scheduler_jobs 中删除,我使用此查询进行了验证:
SELECT owner, job_name, enabled FROM dba_scheduler_jobs;
我的问题是为什么工作被删除" ?
我的工作创建脚本:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'MyJobTest',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN insert into test values (''01'',sysdate); END;',
start_date => '01/12/16 17:00:00,000000000 +01:00',
repeat_interval => NULL,
end_date => NULL,
enabled => TRUE,
comments => ' Insert into Test Table');
END;
/
提前致谢。
答案 0 :(得分:1)
如果您未指定repeat_interval
且auto_drop
参数设置为true
(如果您根本未指定参数,则为默认值),Oracle将删除工作一旦运行。一般来说,如果你创造一个运行一次的工作,那就永远不会让它永远存在。
您可以通过指定auto_drop
值为false来告诉Oracle不要自动删除作业。
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'MyJobTest',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN insert into test values (''01'',sysdate); END;',
start_date => '01/12/16 17:00:00,000000000 +01:00',
repeat_interval => NULL,
end_date => NULL,
enabled => TRUE,
auto_drop => false,
comments => ' Insert into Test Table');