2017-09-09 28 views
0

Oracleのジョブに関する質問があります。Oracleスケジューラのインターバル時間

ジョブが5秒ごとに実行されるように定義されている場合は、何らかの理由で最後の6秒のジョブがあるとします。何が結果になるでしょうか?例えば

BEGIN 
DBMS_SCHEDULER.CREATE_JOB (
    job_name    => 'oe.my_job1', 
    job_type    => 'PLSQL_BLOCK', 
    job_action   => 'BEGIN DBMS_STATS.GATHER_TABLE_STATS(''oe'', 
          ''sales''); END;', 
    start_date   => '15-JUL-08 1.00.00AM US/Pacific', 
    repeat_interval  => 'FREQ=SECONDLY;INTERVAL=5', 
    end_date    => '15-SEP-08 1.00.00AM US/Pacific', 
    enabled    => TRUE, 
    comments    => 'Gather table statistics'); 
END; 
/

i)は、同時に実行する2つのジョブズ???

ii)ジョブFIFOキュー??

同じアクションのジョブがその時点で実行されていない場合にのみ、ジョブが実行されるように指示する方法はありますか?ドキュメントから

答えて

2

https://docs.oracle.com/cd/B28359_01/server.111/b28310/scheduse004.htm#ADMIN10040

ジョブが開始された直後、repeat_intervalをジョブの次回実行予定時間を決定するために評価されます。 ジョブがまだ実行されている間、次のスケジュールされた実行時間が到着する可能性があります。ただし、ジョブの新しいインスタンスは、現在のインスタンスが完了するまで開始されません。

関連する問題