Oracleジョブチェーン作成

実践オラクルデータベース構築・運用

オラクルデータベース構築オラクルデータベース運用SQL書式PL/SQL書式Oracle Master試験

TOP オラクルデータベース運用 Oracleジョブ管理

Oracleジョブチェーン作成


スポンサードリンク



Oracleジョブチェーン作成


本項では、Oracleジョブチェーンについて解説します。


Oracleジョブチェーン(以下、チェーン)は、結合した1つの目的のために互いにリンクされた一連の名前付きタスクです。つまりリンクジョブ同士は依存しており、前のジョブの実行結果次第で次のジョブの実行有無が決定します。JP1のように可視化されていませんが、イメージとしてはジョブ管理ツールになります。チェーンは、前の1つ以上のジョブの結果に応じて異なるジョブが開始される依存性ベースのスケジューリングを実装できる手段です。

以下の流れでジョブチェーンを作成します。

順序 作業 実行例
チェーンオブジェクトを作成 「my_chain1」という名前でチェーンオブジェクトを作成する
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
BEGIN
DBMS_SCHEDULER.CREATE_CHAIN (
chain_name => 'my_chain1',
rule_set_name => NULL,
evaluation_interval => NULL,
comments => 'My first chain');
END;
/
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

チェーン内のステップを定義 「my_chain1」に2つのステップを追加する
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
BEGIN
DBMS_SCHEDULER.DEFINE_CHAIN_STEP (
chain_name => 'my_chain1',
step_name => 'my_step1',
program_name => 'my_program1');
DBMS_SCHEDULER.DEFINE_CHAIN_STEP (
chain_name => 'my_chain1',
step_name => 'my_step2',
program_name => 'my_chain2');
END;
/
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜


ルールを追加 「my_chain1」にステップstep1でチェーンを開始するルールおよびstep1の完了時にステップstep2を開始するルールを定義する
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
BEGIN
DBMS_SCHEDULER.DEFINE_CHAIN_RULE (
chain_name => 'my_chain1',
condition => 'TRUE',
action => 'START step1',
rule_name => 'my_rule1',
comments => 'start the chain');
DBMS_SCHEDULER.DEFINE_CHAIN_RULE (
chain_name => 'my_chain1',
condition => 'step1 completed',
action => 'START step2',
rule_name => 'my_rule2');
END;
/
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

チェーンを使用可能 「my_chain1」を有効化する
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
BEGIN
DBMS_SCHEDULER.ENABLE ('my_chain1');
END;
/
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

チェーンを指し示すジョブを作成 「my_chain1」を指定したチェーンジョブを作成する
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'chain_job_1',
job_type => 'CHAIN',
job_action => 'my_chain1',
repeat_interval => 'freq=daily;byhour=13;byminute=0;bysecond=0',
enabled => TRUE);
END;
/
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜




スポンサードリンク



    ◎-Oracleジョブのネーミングルール

    ◎-Oracleジョブ作成前準備(プログラム作成)

    ◎-Oracleジョブ作成前準備(スケジュール作成)

    ◎-Oracleジョブ作成

    ◎-Oracleジョブ変更

    ◎-Oracleジョブ停止

    ◎-Oracleジョブ削除

    ◎-Oracleジョブ無効化・有効化

    ◎-イベントを使用したOracleジョブの開始

    ◎-Oracleジョブチェーン作成

    ◎-Oracleジョブの優先度付け

    ◎-Oracleジョブの監視



スポンサードリンク

リンク集 / 免責事項サイトマップ問い合わせ
Copyright (C) 2012  実践オラクルデータベース構築・運用  All rights reserved