「Oracle12c」CREATE_JOB文でスケジュール ジョブを作成する方法
環境
Oracle Database 12c Standard Edition Release 12.2.0.1.0 – 64bit Production
構文
DBMS_SCHEDULER.CREATE_JOB ( job_name => ジョブの名前, job_type => ジョブタイプ job_action => ストアド・プロシージャ名 start_date => ジョブの開始日時, end_date => ジョブの終了日時, repeat_interval => ジョブの実行間隔 enabled => TRUE(有効)/FALSE(無効) );
ジョブタイプについて説明
PLSQL_BLOCK PL/SQLコード STORED_PROCEDURE ストアドプロシージャ EXECUTABLE 外部プログラム CHAIN チェーン
使用例
「2022/11/21」0時から3時間ごとに「PROCCFT」を実行するジョブ「JOB_PROCCFT」を作成します。
1.ジョブの権限を割り当てます
GRANT CREATE JOB TO CFTUSER; GRANT MANAGE SCHEDULER TO CFTUSER;
2.スケジュール ジョブの構文を定義します
BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'JOB_PROCCFT', job_type => 'STORED_PROCEDURE', job_action => 'CFTUSER.PROCCFT', start_date => TO_DATE('2022/11/21 00:00:00','yyyy/mm/dd hh24:mi:ss'), repeat_interval => 'FREQ=HOURLY;INTERVAL=3', enabled => TRUE ); END;