2016-12-01 70 views
1

我在oracle 11gOracle作业执行后删除

我创建了一个名为“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

您能否显示您的代码创建一份工作? – Kacper

+0

这是一个插入表测试的工作:我用创建脚本更新了我的帖子。 –

回答

1

如果不指定一旦运行repeat_intervalauto_drop参数设置为true(默认值,如果你不指定参数的话),甲骨文将下降的工作。一般来说,如果您创建的作业只运行一次,那么永远不会有任何意义。

您可以通过指定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'); 
+0

谢谢贾斯汀。我明白 :) –