2016-12-01 27 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

謝謝賈斯汀。我明白 :) –