执行后删除了Oracle Job

时间:2016-12-01 15:11:01

标签: oracle oracle11g

我在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;

/

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您未指定repeat_intervalauto_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');