DBMS_JOB メモ


ジョブの登録 SUBMIT  

DECLARE
    JOB NUMBER;
BEGIN
    -- 360分 間隔で実行
    DBMS_JOB.SUBMIT(JOB,
          'パッケージ;',
                    TO_DATE('2008mmddxxxx','yyyymmddhh24mi') ,  --次回実行日
                    'SYSDATE+360/1440');                        --実行間隔
    COMMIT;
END;

			


ジョブキューからジョブを削除 REMOVE 

ジョブ番号確認
SELECT job, what FROM USER_JOBS;

BEGIN
    DBMS_JOB.REMOVE(ジョブ番号);
END;



ジョブの手動起動 RUN

exec DBMS_JOB.RUN(ジョブ番号);



JOBの確認
select JOB,WHAT,INTERVAL from USER_JOBS;
select JOB,SCHEMA_USER,WHAT,INTERVAL from DBA_JOBS;


実行間隔の設定例

 毎日 何時:何分 [計算例:時間 * 3600 + 分 * 60 = 値]
TRUNC(SYSDATE)+1+(値/86400)

 毎日18時55分
18*3600 + 55*60 = 64800 + 3300 =  68100 
TRUNC(SYSDATE)+1+(68100/86400)

 毎日17時00分
TRUNC(SYSDATE)+1+(17/24)

 毎週日曜日の 1:00
TRUNC(SYSDATE),'日曜日')+(1/24)


実行間隔の数値の確認
select to_char(trunc(sysdate)+1+(値/86400),'yyyy/mm/dd hh24:mi:ss') from dual; 

初期パラ
JOB_QUEUE_PROCESSES

[一つ前に戻る] TOP PAGE
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送