13 ロード計画の使用

この章では、ロード計画の概要について説明します。ロード計画の作成方法について説明し、ロード計画の使用方法に関する情報を提供します。

この章の内容は次のとおりです。

13.1 ロード計画の概要

Oracle Data Integratorは、大規模データ・ウェアハウスへのデータ移入に使用されることがよくあります。このようなユース・ケースでは、一般的に、何百ものシナリオを使用して、何千もの表にデータが移入されます。これらのシナリオの実行は、ソースからターゲットへのデータ・スループットが、バッチ・ウィンドウ内で最も効率的になるような方法で編成する必要があります。ロード計画は、このようなユース・ケースについて、シナリオの実行を順次ステップおよびパラレル・ステップの階層に編成するために役立ちます。

ロード計画は、Oracle Data Integratorの実行可能オブジェクトであり、並列または順次で、条件付きで実行可能なステップの階層を含めることができます。この階層のリーフ・ノードはシナリオです。パッケージ、マッピング、変数およびプロシージャは、シナリオの形式で実行用のロード計画に追加できます。詳細は、ロード計画の作成を参照してください。

ロード計画では複数のレベルで変数の設定と使用が可能です。詳細は、「ロード計画での変数の使用」を参照してください。また、ロード計画では、シナリオがエラーで終了した場合の例外処理戦略もサポートされています。詳細は、「ロード計画の例外および再開可能の処理」を参照してください。

ロード計画は、コマンド行、Oracle Data Integrator Studio、Oracle Data IntegratorコンソールまたはWebサービス・インタフェースから開始、停止および再開できます。また、ランタイム・エージェントの組込みスケジューラまたは外部スケジューラを使用してスケジュールできます。ロード計画を実行すると、ロード計画インスタンスが作成されます。このロード計画インスタンスを実行する各試行は、別々のロード計画実行です。詳細は、「ロード計画の実行」を参照してください。

ロード計画は本番環境で変更でき、本番のニーズに応じてステップを有効または無効にできます。ロード計画オブジェクトは、デザイナ・ナビゲータとオペレータ・ナビゲータで設計および表示できます。開発作業リポジトリに接続している場合は様々な設計操作(作成、編集、削除など)を実行できますが、実行作業リポジトリでは一部の設計操作は使用できません。詳細は、「ロード計画ステップの編集」を参照してください。

作成したロード計画は作業リポジトリに格納されます。ロード計画は、エクスポートして別のリポジトリにインポートし、異なるコンテキストで実行できます。また、バージョニングすることもできます。詳細は、「ロード計画のエクスポート、インポートおよびバージョニング」を参照してください。

ロード計画は、デザイナ・ナビゲータおよびオペレータ・ナビゲータの「ロード計画とシナリオ」アコーディオンに表示されます。ロード計画実行は、オペレータ・ナビゲータの「ロード計画実行」アコーディオンに表示されます。

13.1.1 ロード計画実行ライフ・サイクル

ロード計画の実行時またはスケジュール時に、このロード計画実行に使用する変数値、コンテキストおよび論理エージェントを指定します。

ロード計画を実行すると、ロード計画インスタンスと最初のロード計画実行が作成されます。このロード計画インスタンスは、元のロード計画から切り離されており、ロード計画実行はこのインスタンスの最初の実行試行に対応します。実行が再開されると、このロード計画インスタンスの下に新しいロード計画実行が作成されます。この結果、ロード計画インスタンスの各実行試行は、別々のロード計画実行としてログに保持されます。

詳細は、「ロード計画の実行」を参照してください。

1つのロード計画インスタンスにつき1つの実行のみが許可され、それが最後のロード計画インスタンス実行である必要があります。ただし、シナリオと同様に、ロード計画の同時実行制御設定に応じて、(ロード計画の内部IDにより決定された)同じロード計画の複数のインスタンスを同時に実行することも可能です。

ODIによる同時実行の処理の詳細は、「シナリオおよびロード計画の同時実行の制御」を参照してください。

13.1.2 パッケージ、シナリオおよびロード計画の相違点

ロード計画は、Oracle Data Integratorの最大の実行可能オブジェクトです。そのステップではシナリオが使用されます。実行可能オブジェクトがロード計画で使用される場合、そのオブジェクトはシナリオに自動的に変換されます。たとえば、パッケージはロード計画ではシナリオの形式で使用されます。ロード計画自体はロード計画に追加できないことに注意してください。ただし、OdiStartLoadPlanツールを使用して、別のロード計画を開始するシナリオ実行ステップの形式でシナリオを追加することは可能です。

ロード計画は、パッケージまたはシナリオの代替オブジェクトではなく、パッケージおよびシナリオの実行を上位レベルで編成するために使用されます。

パッケージとは異なり、ロード計画は、並列性、再開可能および例外処理をネイティブでサポートします。ロード計画は本番にそのまま移行されるのに対して、パッケージはシナリオの形式で移行されます。また、ロード計画は本番環境で作成できます。

ロード計画インスタンスロード計画実行はセッションに類似しています。相違点は、セッションは、再開時に新規実行が既存のセッションを上書きする点です。これに対し、新規ロード計画実行は既存のロード計画実行を上書きせず、このロード計画インスタンスに対する前のロード計画実行の後に追加されます。ロード計画インスタンスは実行時に変更できないことに注意してください。

13.1.3 ロード計画の構造

ロード計画は、一連の複数タイプのステップで構成されます。各ステップには、複数の子ステップを含めることができます。ステップ・タイプに応じて、ステップを並列または順次で、条件付きで実行できます。デフォルトで、ロード計画には空のルート・シリアル・ステップが含まれます。このルート・ステップは必須であり、ステップ・タイプは変更できません。

次の表に、ロード計画ステップの様々なタイプと使用可能な子ステップを示します。

表13-1 ロード計画ステップ

タイプ 説明 使用可能な子ステップ

シリアル・ステップ

その子ステップのシリアル実行を定義します。子ステップには順序が設定され、子ステップは前の子ステップが終了した後でのみ実行されます。

ルート・ステップはシリアル・ステップです。

  • シリアル・ステップ

  • パラレル・ステップ

  • シナリオ実行ステップ

  • Caseステップ

パラレル・ステップ

その子ステップのパラレル実行を定義します。子ステップは、優先度順に即時に開始されます。

  • シリアル・ステップ

  • パラレル・ステップ

  • シナリオ実行ステップ

  • Caseステップ

シナリオ実行ステップ

シナリオの実行を開始します。

このタイプのステップには子ステップを設定できません。

Caseステップ

Whenステップ

Elseステップ

これらのステップの組合せによって、変数の値に基づいた条件ブランチが可能になります。

ノート: Caseステップの下に複数のWhenステップがある場合は、条件を満たす最初に有効なWhenステップが実行されます。条件を満たすWhenステップがない場合、またはCaseステップにWhenステップが含まれていない場合は、Elseステップが実行されます。

Caseステップの場合

  • Whenステップ

  • Elseステップ

Whenステップの場合

  • シリアル・ステップ

  • パラレル・ステップ

  • シナリオ実行ステップ

  • Caseステップ

Elseステップの場合

  • シリアル・ステップ

  • パラレル・ステップ

  • シナリオ実行ステップ

  • Caseステップ

例外ステップ

ステップ階層の関連ステップで例外が発生した場合に実行されるステップのグループを定義します。同じ例外ステップをステップ階層内の複数のステップに関連付けることができます。

  • シリアル・ステップ

  • パラレル・ステップ

  • シナリオ実行ステップ

  • Caseステップ

次の図に、Oracle Data Integratorで作成されたロード計画のサンプルを示します。このサンプルのロード計画では、データ・ウェアハウスがロードされます。

  • 複数のディメンションが並列してロードされます。ロードされるのは、LOAD_TIME_DIM、LOAD_PRODUCT_DIM、LOAD_CUSTOMER_DIMの各シナリオ、地理的ディメンション、およびODI_VAR_SESS1変数の値に応じてCUST_NORTHシナリオまたはCUST_SOUTHシナリオです。

  • 地理的ディメンションは一連の3つのシナリオ(LOAD_GEO_ZONE_DIM、LOAD_COUNTRIES_DIM、LOAD_CITIES_DIM)で構成されます。

  • これらのディメンションがロードされた後、2つのファクト表が並列してロードされます(LOAD_SALES_FACTシナリオとLOAD_MARKETING_FACTシナリオ)。

図13-1 ロード計画のサンプル

図13-1の説明が続きます
「図13-1 ロード計画のサンプル」の説明

13.1.4 ロード計画エディタの概要

ロード計画エディタは、ロード計画を設計するための単一の環境を提供します。次の図では、ロード計画エディタの概要を示しています。

図13-2 ロード計画エディタの「ステップ」タブ

図13-2の説明が続きます
「図13-2 ロード計画エディタの「ステップ」タブ」の説明

ロード計画ステップは、ロード計画エディタの「ステップ」タブで追加、編集および編成します。ステップ階層表では、ロード計画のステップの編成を定義します。この表の各行はステップを表し、その主なプロパティが表示されます。

パッケージ、統合マッピング、変数、プロシージャ、またはシナリオなどのコンポーネントをデザイナ・ナビゲータからステップ階層表にドラッグして、これらのコンポーネントのシナリオ実行ステップを作成できます。

ステップ追加ウィザードまたはクイック・ステップ・ツールを使用して、このロード計画にシナリオ実行ステップや他のタイプのステップを追加することもできます。詳細は、「ロード計画ステップの追加」を参照してください。

ステップ階層表の上部にある「ロード計画」エディタのツールバーには、ロード計画のステップを作成、編成および順序付けするためのツールが用意されています。次の図は、様々なツールバー・コンポーネントの詳細を示しています。

表13-2 「ロード計画」エディタのツールバー

アイコン 名前 説明
検索

検索

ステップ階層表でステップを検索します。

「すべて展開」アイコン

すべて展開

ステップ階層表内のすべてのツリー・ノードを開きます。

「すべて閉じる」アイコン

すべて閉じる

ステップ階層表内のすべてのツリー・ノードを閉じます。

ステップの追加

ステップの追加

「ステップの追加」メニューを開きます。ステップ追加ウィザードまたはクイック・ステップ・ツールのいずれかを選択して、ステップを追加できます。詳細は、「ロード計画ステップの追加」を参照してください。

「ステップの削除」アイコン

ステップの削除

選択したステップおよびそのすべての子ステップを削除します。

ナビゲーション矢印

並べ替え矢印: 上に移動、下に移動、外に移動、内に移動

並べ替え矢印を使用して、選択したステップを必要な位置に移動します。

ステップ階層表の下にあるプロパティ・パネルには、ステップ階層表で選択したオブジェクトのプロパティが表示されます。

13.2 ロード計画の作成

この項では、ODI Studioで新規ロード計画を作成する方法について説明します。

  1. 新規ロード計画を作成します。詳細は、「新規ロード計画の作成」 を参照してください。

  2. ロード計画にステップを追加し、ロード計画の順序を定義します。詳細は、「ロード計画ステップの順序の定義」 を参照してください。

  3. 例外の処理方法を定義します。詳細は、「ロード計画の例外および再開可能の処理」 を参照してください。

13.2.1 新規ロード計画の作成

ロード計画は、デザイナ・ナビゲータまたはオペレータ・ナビゲータから作成できます。

新規ロード計画を作成するには:

  1. デザイナ・ナビゲータまたはオペレータ・ナビゲータで、「ロード計画とシナリオ」アコーディオンのツールバーにある「新規ロード計画」をクリックします。ロード計画エディタが表示されます。
  2. ロード計画エディタで、このロード計画に対して「名前」「フォルダ名」および「説明」に値を入力します。
  3. オプションで、次のパラメータを設定します:
    • ログ・セッション: ロード計画によって開始されるセッションに対するセッション・ログの保持方法を選択します。可能な値は次のとおりです。

      • 常時: 常にセッション・ログを保持します(デフォルト)。

      • なし: セッション・ログを保持しません。「失敗したステップから再開」または「失敗したタスクから再開」として構成されているシナリオ実行ステップの場合、再開のためにセッション全体を保持する必要があるため、エージェントはパラメータが「エラー」に設定されている場合と同様に動作します。

      • エラー: セッションがエラー状態で完了した場合のみ、セッション・ログを保持します。

    • ログ・セッション・ステップ: ロード計画によって開始される各セッションのセッション・ステップに対するログの保守方法を選択します。このプロパティは、セッション・ログを保持する場合のみ適用されます。可能な値は次のとおりです。

      • シナリオ設定別: シナリオ設定に応じてセッション・ステップ・ログが保持されます。パッケージから作成されたシナリオの場合、「ジャーナルへのステップのログ」という拡張ステップ・プロパティでステップを保持するかどうかを指定できます。他のシナリオでは、すべてのステップが保持されます(デフォルト)。

      • なし: セッション・ステップ・ログを保持しません。「失敗したステップから再開」または「失敗したタスクから再開」として構成されているシナリオ実行ステップの場合、再開のためにセッション全体を保持する必要があるため、エージェントはパラメータが「エラー」に設定されている場合と同様に動作します。

      • エラー: ステップがエラー状態の場合のみ、セッション・ステップ・ログが保持されます。

    • セッション・タスクのログ・レベル: セッションのログ・レベルを選択します。この値は、単位シナリオの開始時の「ログ・レベル」の値に対応します。デフォルトは5です。シナリオ実行ステップが「失敗したステップから再開」または「失敗したタスクから再開」として構成されている場合、再開のためにセッション全体を保持する必要があるため、このパラメータは無視されます。

    • キーワード: このロード計画から開始されるセッションに対して設定されるキーワードのカンマ区切りのリストを入力します。これらのキーワードによって、セッション・フォルダや自動分類によるODIログの編成が容易になります。これらのキーワードは、子ステップのレベルで上書きできることに注意してください。詳細は、Oracle Data Integratorの管理ログの管理を参照してください。

  4. オプションで、「同時実行コントローラ」のオプションを変更します。
    • このロード計画の複数のインスタンスの同時実行を許可しない場合は、「同時実行の制限」チェック・ボックスを有効にします。「同時実行の制限」が無効になっている(チェックされていない)場合、制限はなく、このロード計画の複数のインスタンスを同時に実行できます。

    • 「同時実行の制限」が有効になっている場合、目的の「違反動作」を設定します。

      • 実行エラーの発生: ロード計画のインスタンスがすでに実行中の場合、別のインスタンスを実行しようとすると、セッションは作成されますが、即時に終了され、同時実行制御エラーの原因となった現在実行中のセッションを特定する実行エラー・メッセージが表示されます。

      • 実行の待機: ロード計画のインスタンスがすでに実行中の場合、追加の実行は待機ステータスになり、システムは実行の順番の到来をポーリングします。セッションのステータスは、現在実行中のセッションと、実行中インスタンスの完了後の実行の順番を待機しているすべての同時セッション(ある場合)を反映するように定期的に更新されます。

        このオプションを選択した場合、「待機ポーリング間隔」で、実行中インスタンスが完了したかどうかをシステムでチェックする頻度を設定します。「待機ポーリング間隔」は、「実行の待機」を選択した場合にのみ入力できます。

        待機ポーリング間隔を指定しない場合、実行中エージェントのデフォルトが使用されます(ODI 12.1.3では、デフォルト・エージェントの値は30秒です)。

  5. 「ステップ」タブを選択し、「ロード計画ステップの順序の定義」の説明に従ってステップを追加します。
  6. ロード計画に条件ブランチが必要な場合、またはシナリオで変数が使用される場合は、「変数」タブを選択し、「ロード計画の変数の宣言」の説明に従って変数を宣言します
  7. ロード計画ステップが失敗した場合に使用される例外ステップを追加するには、「例外」タブを選択し、「例外フローの定義」の説明に従って例外ステップを定義します
  8. 「ファイル」メニューから「保存」をクリックします。

ロード計画が「ロード計画とシナリオ」アコーディオンに表示されます。関連するロード計画とシナリオを、ロード計画とシナリオ・フォルダにグループ化して、ロード計画を編成できます。

13.2.2 ロード計画ステップの順序の定義

ロード計画は、子ステップを階層に編成したものです。この階層では、ステップの条件付き処理が並列または順次で行えます。

実行フローは2つのステージで構成できます:

  • 設計時。ステップ階層の定義時に構成できます。

    • ロード計画にステップを追加する際に、ステップ・タイプを選択します。ステップ・タイプによって、使用可能な子ステップとこれらの子ステップの実行方法が定義されます。実行方法には、並列、順次、変数の値に基づく条件付き(Caseステップ)があります。ステップ・タイプの詳細は、表13-1を参照してください。

    • ロード計画にステップを追加する際に、ステップの挿入位置も決定します。子ステップを追加、選択したステップの後に兄弟ステップを追加、または選択したステップの前に兄弟ステップを追加できます。詳細は、「ロード計画ステップの追加」 を参照してください。

    • また、ステップを必要な位置にドラッグするか、またはステップ表のツールバーにある矢印を使用して、ロード計画ステップの順序を再編成することもできます。詳細は、表13-2を参照してください。

  • 設計時および実行時。ステップを有効または無効にして構成できます。ステップ階層表で、ステップを有効または無効にできます。あるステップを無効にすると、そのすべての子ステップも無効になることに注意してください。無効にしたステップとそのすべての子ステップは、ロード計画の実行時に実行されません。

この項では、次の項目について説明します。

13.2.2.1 ロード計画ステップの追加

ロード計画ステップを追加するには、ステップ追加ウィザードを使用するか、または特定のステップ・タイプ用のクイック・ステップ・ツールを選択します。また、オブジェクト(シナリオ、パッケージなど)をコンテナ・ステップにドラッグ・アンド・ドロップして、ロード計画ステップを作成することもできます。ステップは、選択したステップの子として作成されます。ロード計画ステップの各タイプの詳細は、表13-1を参照してください。シナリオ実行ステップを作成するには、パッケージ、マッピング、変数、プロシージャまたはシナリオなどのコンポーネントを、デザイナ・ナビゲータからステップ階層表にドラッグすることもできます。Oracle Data Integratorによって、挿入したコンポーネントに対するシナリオ実行ステップが自動的に作成されます。

追加したロード計画ステップは、必要最小限の設定でステップ階層に挿入されます。ロード計画ステップの構成方法の詳細は、「ロード計画ステップの編集」を参照してください。

ステップ追加ウィザードを使用したロード計画ステップの追加

ステップ追加ウィザードを使用してロード計画ステップを挿入するには:

  1. ロード計画エディタを開き、「ステップ」タブに移動します。

  2. ステップ階層表のステップを選択します。

  3. ロード計画エディタのツールバーで、「ステップの追加」「ステップ追加ウィザード」の順に選択します。

  4. ステップ追加ウィザードで、次の項目を選択します。

    • ステップ・タイプ使用可能なステップ・タイプは、シリアル、パラレル、シナリオ実行、Case、WhenおよびElseです。各種ステップ・タイプの詳細は、表13-1を参照してください。

    • ステップの場所。このパラメータは、ステップが追加される場所を定義します。

      • 子ステップを選択に追加: 選択したステップの下にステップが追加されます。

      • 兄弟ステップを選択の後に追加: 選択したステップの後に同じレベルでステップが追加されます。

      • 兄弟ステップを選択の前に追加: 選択したステップの前に同じレベルでステップが追加されます。

    ノート:

    現在の選択に対して有効な値のみが「ステップ・タイプ」 および「ステップの場所」に表示されます。

  5. 「次へ」をクリックします。

  6. 追加しているステップ・タイプに対する次の表の指示に従います。

    表13-3 ステップの追加ウィザードのアクション

    ステップ・タイプ 説明および必要なアクション

    シリアル・ステップまたはパラレル・ステップ

    新しいロード計画ステップのステップ名を入力します。

    シナリオ実行ステップ

    1. 「ルックアップ・シナリオ」ボタンをクリックします。

    2. 「ルックアップ・シナリオ」ダイアログで、ロード計画に追加するシナリオを選択し、「OK」をクリックします。

      または、実行可能オブジェクトに対するシナリオを作成してこのシナリオを使用するには、「実行可能なオブジェクト・タイプ」選択ボックスで該当するオブジェクト・タイプを選択した後、このシナリオ実行ステップで実行する実行可能オブジェクトを選択し、「OK」をクリックします。新しいシナリオ名とバージョンを入力し、「OK」をクリックします。該当するオブジェクトに対する新規シナリオが作成され、このシナリオ実行ステップで使用されます。

      ヒント: 設計時に、まだ存在していないシナリオを使用してシナリオ実行ステップを作成する場合があります。この場合、既存のシナリオを選択するかわりに、シナリオ名とバージョン番号を直接入力して、「終了」をクリックします。後で、「シナリオ実行ステップの変更」ウィザードを使用してシナリオを選択できます。詳細は、シナリオ実行ステップのシナリオの変更を参照してください。

      バージョン番号-1を使用すると、文字列の字句ソート順序に基づいてシナリオの最新バージョンが使用されます。

    3. 「ステップ名」 にはシナリオの名前が自動的に移入され、「バージョン」フィールドにはシナリオのバージョン番号が移入されます。オプションで、ステップ名を変更します。

    4. 「次へ」をクリックします。

    5. 「ロード計画に追加」列で、ロード計画変数に追加するシナリオ変数を選択します。シナリオで特定の変数が起動パラメータとして使用されている場合、その変数はロード計画変数に自動的に追加されます。

      詳細は、「ロード計画での変数の使用」 を参照してください。

    ケース

    1. 条件ブランチに使用する変数を選択します。リストからいずれかのロード計画変数を選択するか、または 「ルックアップ変数」をクリックして新規変数をロード計画に追加し、追加した変数をこのCaseステップに使用します。

      詳細は、「ロード計画での変数の使用」 を参照してください。

    2. 「ステップ名」には、変数のステップ・タイプと名前が自動的に移入されます。オプションで、ステップ名を変更します。

      詳細は、「ロード計画ステップの編集」 を参照してください。

    When

    1. WHEN句の評価で使用する演算子を選択します。可能な値は次のとおりです。

      • より小さい(<)

      • 以下(<=)

      • 異なる(<>)

      • 等しい(=)

      • より大きい(>)

      • 以上(>=)

      • Nullでない

      • NULLである

    2. WHEN句の評価で使用する「値」を入力します。

    3. 「ステップ名」には、使用される演算子が自動的に移入されます。オプションで、ステップ名を変更します。

      詳細は、「ロード計画ステップの編集」 を参照してください。

    Else

    「ステップ名」 には、ステップ・タイプが自動的に移入されます。オプションで、ステップ名を変更します。

    詳細は、「ロード計画ステップの編集」 を参照してください。

  7. 「終了」をクリックします。

  8. ステップがステップ階層に追加されます。

ノート:

ステップを必要な位置にドラッグするか、またはステップ表のツールバーにある並べ替え矢印を使用してステップ階層のステップを移動して、ロード計画ステップの順序を再編成できます。

クイック・ステップ・ツールを使用したロード計画ステップの追加

クイック・ステップ・ツールを使用してロード計画ステップを挿入するには:

  1. ロード計画エディタを開き、「ステップ」タブに移動します。

  2. ステップ階層で、子ステップを作成するロード計画ステップを選択します。

  3. ステップのツールバーで、「ステップの追加」を選択し、追加するステップ・タイプに対応するクイック・ステップのオプションを選択します。次の表に、クイック・ステップ・ツールのオプションを示します。

    表13-4 クイック・ステップ・ツール

    クイック・ステップ・ツールのオプション 説明および必要なアクション
    「シリアル・ステップ」アイコン

    選択したステップの子としてシリアル・ステップを追加します。デフォルト値が使用されます。これらの値は、ステップ階層表またはプロパティ・インスペクタで変更できます。詳細は、「ロード計画ステップの編集」 を参照してください。

    「パラレル・ステップ」アイコン

    選択したステップの子としてパラレル・ステップを追加します。デフォルト値が使用されます。これらの値は、ステップ階層表またはプロパティ・インスペクタで変更できます。詳細は、「ロード計画ステップの編集」 を参照してください。

    「シナリオ実行ステップ」アイコン

    選択したステップの子としてシナリオ実行ステップを追加します。表13-3のシナリオ実行ステップに関する指示に従います。

    「Caseステップ」アイコン

    選択したステップの子としてCaseステップを追加します。表13-3のCaseステップに関する指示に従います。

    「Whenステップ」アイコン

    選択したステップの子としてWhenステップを追加します。表13-3のWhenステップに関する指示に従います。

    「Elseステップ」アイコン

    選択したステップの子としてElseステップを追加します。表13-3のElseステップに関する指示に従います。

    ノート:

    クイック・ステップ・ツールでは、現在の選択項目に対して有効なステップ・タイプのみが有効になります。

13.2.2.2 ロード計画ステップの編集

ロード計画ステップを編集するには:

  1. ロード計画エディタを開き、「ステップ」タブに移動します。

  2. ステップ階層表で、変更するロード計画ステップを選択します。プロパティ・インスペクタにステップのプロパティが表示されます。

  3. 必要に応じて、ロード計画ステップのプロパティを編集します。

次の操作は、ステップ編集時の一般的なタスクです:

シナリオ実行ステップのシナリオの変更

シナリオを変更するには:

  1. 「ステップ」または「例外」タブのステップ階層表で、シナリオ実行ステップを選択します。

  2. プロパティ・インスペクタの「ステップ・プロパティ」セクションで、「ルックアップ・シナリオ」をクリックします。「シナリオ実行ステップの変更」ウィザードが開きます。

  3. 「シナリオ実行ステップの変更」ウィザードで、「ルックアップ・シナリオ」をクリックし、表13-3のシナリオ実行ステップに対応する指示に従います。

シナリオ実行ステップの拡張オプションの設定

プロパティ・インスペクタで、シナリオ実行ステップの次のプロパティを設定できます:

  • 優先度: シナリオを並列して開始する必要がある場合のこのステップの優先度。0から100 (100が最も高い優先度)の整数値です。デフォルトは0です。シナリオ実行ステップの優先度は、実行中のロード計画内のすべての実行可能シナリオの間で評価されます。優先度が最も高いシナリオ実行ステップが最初に実行されます。

  • コンテキスト: ステップ実行に使用されるコンテキスト。デフォルト・コンテキストは、ロード計画の実行時に「ロード計画の開始」ダイアログで定義されるロード計画コンテキストです。コンテキストのみを指定して、論理エージェントの値を指定しない場合、ステップは、ロード計画を開始した同じ物理エージェントで開始されますが、この指定したコンテキスト内で開始されます。

  • 論理エージェント: ステップ実行に使用される論理エージェント。デフォルトでは、ロード計画の実行時に「ロード計画の開始」ダイアログで定義される論理エージェントが使用されます。論理エージェントのみを設定してコンテキストを設定しない場合、ステップは、ロード計画の開始時に指定したコンテキストで解決された、指定の論理エージェントに対応する物理エージェントで開始されます。論理エージェント値を指定しない場合、ステップは、ロード計画を開始した同じ物理エージェントで開始されます(ステップにコンテキストを指定しているかどうかは関係ありません)。

シナリオ実行ステップのリンクされたオブジェクトを開く

シナリオ実行ステップは、パッケージ、マッピング、変数、プロシージャまたはシナリオに対して作成できます。シナリオ実行ステップが作成されると、元のオブジェクトのオブジェクト・エディタを開いてシナリオ実行ステップを編集できます。

シナリオ実行ステップのリンクされたオブジェクトを表示および編集するには:

  1. 「ステップ」または「例外」タブのステップ階層表で、シナリオ実行ステップを選択します。

  2. 右クリックして「リンクされたオブジェクトを開く」を選択します。

リンクされたオブジェクトのオブジェクト・エディタが表示されます。

Caseステップのテスト変数の変更

WHEN文で定義されたテストの評価に使用する変数を変更するには:

  1. 「ステップ」タブまたは「例外」タブのステップ階層表で、Caseステップを選択します。

  2. プロパティ・インスペクタの「ステップ・プロパティ」セクションで、「ルックアップ変数」をクリックします。「Caseステップの変更」ダイアログが開きます。

  3. 「Caseステップの変更」ダイアログで、「ルックアップ変数」をクリックし、Caseステップに対応する表13-3のCaseステップに対応する指示に従います。

例外および再開動作の定義

例外および再開の動作は、ステップ階層表のステップに設定できます。詳細は、「ロード計画の例外および再開可能の処理」 を参照してください。

シナリオの再生成

特定のロード計画ステップのシナリオをその子ステップのシナリオも含めてすべて再生成するには:

  1. 「ステップ」タブまたは「例外」タブのステップ階層表から、ロード計画ステップを選択します。

  2. 右クリックして「再生成」を選択します。このオプションは、バージョン番号が -1のシナリオには使用できないことに注意してください。

  3. 「OK」をクリックします。

警告:

シナリオの再生成は元に戻すことができません。重要なシナリオの場合は、新しいバージョン番号を使用してシナリオを生成することをお薦めします。

シナリオの最新バージョンへのリフレッシュ

特定のロード計画ステップのシナリオ・ステップをその子ステップのシナリオも含めてすべて変更し、シナリオのバージョンを各シナリオに使用可能な最新バージョンに設定するには:

  1. 「ステップ」タブまたは「例外」タブのステップ階層表から、ロード計画ステップを選択します。
  2. 右クリックして「シナリオを最新バージョンにリフレッシュ」を選択します。最新のシナリオ・バージョンは、シナリオ作成タイムスタンプによって決定されることに注意してください。ODIエージェントの実行中の最新のシナリオの決定では、シナリオ・バージョン文字列の値がアルファベットの昇順でソートされ、そのリストの最後のシナリオが選択されます。

    ノート:

    このオプションは、バージョン番号が -1のシナリオには使用できません。

  3. 「OK」をクリックします。
13.2.2.3 ステップの削除

ステップを削除するには:

  1. ロード計画エディタを開き、「ステップ」タブに移動します。
  2. ステップ階層表で、削除するステップを選択します。
  3. ロード計画エディタのツールバーで、「ステップの削除」選択します。

ステップとその子ステップがステップ階層表から削除されます。

ノート:

ステップ階層表での削除操作は元に戻すことができません。

13.2.2.4 ステップの複製

ステップを複製するには:

  1. ロード計画エディタを開き、「ステップ」タブに移動します。
  2. ステップ階層表で、複製するステップを右クリックして「選択の複製」を選択します。
  3. 子ステップも含めたこのステップのコピーが作成され、元のステップの後の兄弟ステップとしてステップ階層表に追加されます。

これで、このステップを移動および編集できます。

13.2.3 ロード計画での変数の使用

ロード計画で使用するプロジェクト変数とグローバル変数は、ロード計画エディタでロード計画変数として宣言されます。これらの変数はすべてのステップで自動的に使用可能になり、その値がロード計画ステップに渡されます。

変数の値は、ロード計画の開始時に起動パラメータとしてロード計画に渡されます。ステップ・レベルでは、変数値を設定するか、またはリフレッシュを強制的に実行して、ステップとその子ステップの変数値を上書きできます。

ノート:

ロード計画変数は、プロジェクト変数およびグローバル変数のコピーです。このため、元のプロジェクト変数およびグローバル変数の定義に対する変更が、すでにロード計画で作成された対応する変数に自動的に伝播されることはありません。右クリック・コンテキスト・メニューの「変数定義のリフレッシュ」オプションを使用して、ロード計画変数の定義を、対応するプロジェクト変数またはグローバル変数からの現在の値で更新できます。

ロード計画変数は元のプロジェクト変数またはグローバル変数のコピーであるため、ロード計画で元のプロジェクト変数またはグローバル変数のデフォルト値や、実行コンテキストにおける変数の履歴/最新値が考慮されることはありません。変数の値は、ロード計画の開始時に指定した値、またはロード計画内で設定/リフレッシュした値です。

変数は、シナリオ実行ステップ(変数の値は起動パラメータとしてシナリオに渡されます)、または条件付きブランチのCase/When/Elseステップで使用できます。

この項では、次の項目について説明します。

13.2.3.1 ロード計画の変数の宣言

ロード計画変数を宣言するには:

  1. ロード計画エディタを開き、「変数」タブに移動します。
  2. ロード計画エディタのツールバーから、「変数の追加」を選択します。「ルックアップ変数」ダイアログが表示されます。
  3. 「ルックアップ変数」ダイアログで、ロード計画に追加する変数を選択します。
  4. 変数は、ロード計画エディタの「変数」タブと各ステップのプロパティ・インスペクタに表示されます。
13.2.3.2 ステップの変数値の設定

ステップ内の変数の値は、親ステップの値から継承されます。つまり、最終的にはロード計画の開始時に変数に指定した値から継承されます。

ElseステップとWhenステップを除く各ステップの場合、変数値を上書きすることもでき、このステップとその子ステップに使用される値を変更することもできます。

特定のステップで上書きまたはリフレッシュされた変数値は、その値が子孫分岐で再度上書きまたはリフレッシュされるまで、そのステップのすべての子孫に対して使用可能です。同様に、特定のステップで上書きまたはリフレッシュされた変数値が兄弟ステップや親ステップの値に影響を与えることはありません。

ステップ・レベルで変数値をオーバーライドするには:

  1. ロード計画エディタを開き、「ステップ」タブに移動します。
  2. ステップ階層表で、変数値を上書きするステップを選択します。
  3. プロパティ・インスペクタで、「変数」セクションに移動します。このロード計画に対して定義されている変数がこの変数表にリストされます。次の変数パラメータを変更できます。

    このステップとすべての子ステップの変数値を指定する場合は、「上書き」を選択します。変数値の上書きを選択すると、次のいずれかを実行できます。

    • 「値」 フィールドに新しい変数値を設定できます。

    • 「リフレッシュ」を選択して、ステップの実行前にこの変数をリフレッシュできます。「リフレッシュ」オプションを選択できるのは、変数値をリフレッシュするために「問合せの選択」が定義されている変数のみです。

      ノート:

      グローバル変数またはプロジェクト変数のリフレッシュSQLが変更された場合、対応するロード計画変数の変数リフレッシュSQLは自動的に更新されません。ロード計画変数のリフレッシュSQLを更新するには、ロード計画エディタの「変数」タブでロード計画変数を右クリックすると表示されるコンテキスト・メニューから「変数定義のリフレッシュ」オプションを選択します。

13.2.4 ロード計画の例外および再開可能の処理

ロード計画には、実行フローでエラーを処理するために、例外再開可能の2つの機能が用意されています。

例外

例外ステップには、ロード計画エディタの「例外」タブで定義されたステップの階層が含まれます。

特定の例外ステップをロード計画の1つ以上のステップに関連付けることができます。ロード計画のステップでエラーが発生した場合は、関連付けられている例外ステップが自動的に実行されます。

必要に応じて、失敗したステップの親ステップに対して例外を生成するように設定できます。例外を生成すると、親ステップが失敗するため、親ステップの例外ステップを実行できます。

再開可能

ロード計画実行が失敗後に再開されるとき、失敗したロード計画ステップは、「再開タイプ」パラメータに応じて再開されます。たとえば、パラレル・ステップでそのすべての子ステップを再開するか、または失敗した子ステップのみを再開するかを定義できます。

この項では、次の項目について説明します。

13.2.4.1 例外フローの定義

例外ステップは、ロード計画エディタの「例外」タブで作成および定義します。

このタブには、例外ステップのリストが含まれます。各例外ステップは、ロード計画ステップの階層に存在します。「例外」タブは、ロード計画エディタの「ステップ」タブに類似しています。主な違いは次のとおりです。

  • 例外ステップ階層にルート・ステップはありません。各例外ステップは、個別のルート・ステップになります。

  • シリアル、パラレル、シナリオ実行およびCaseの各ステップには、「ステップ」タブで同じプロパティを設定できますが、例外処理のプロパティ・グループは設定されません。エラーが発生した例外ステップによって他の例外ステップを生成することはできません。

例外ステップは、ステップ追加ウィザードを使用するか、またはロード計画エディタのツールバーで「ステップの追加」「例外ステップ」を選択することによって、クイック・ステップ・ツールで作成できます。デフォルトで、例外ステップは、「例外」というステップ名で作成されます。この名前は、ステップ階層表またはプロパティ・インスペクタで変更できます。

ステップ追加ウィザードを使用して例外ステップを作成するには:

  1. ロード計画エディタを開き、「例外」タブに移動します。
  2. ロード計画エディタのツールバーで、「ステップの追加」「ステップ追加ウィザード」の順に選択します。
  3. ステップ追加ウィザードで、「ステップ・タイプ」リストから「例外」 を選択します。

    ノート:

    「ステップ・タイプ」には、現在の選択項目に対して有効な値のみが表示されます。

  4. 「次へ」をクリックします。
  5. 「ステップ名」フィールドに、例外ステップの名前を入力します。
  6. 「終了」をクリックします。
  7. 例外ステップがステップ階層に追加されます。

これで、この例外ステップの下に新しいステップを追加して階層を編成することによって、例外フローを定義できます。

13.2.4.2 例外処理の使用

ロード計画ステップの例外処理の定義では、このロード計画ステップに例外ステップを関連付け、例外動作を定義します。例外ステップは、WhenステップとElseステップを除く各ステップに対して設定できます。

ロード計画ステップの例外処理を定義するには:

  1. ロード計画エディタを開き、「ステップ」タブに移動します。
  2. ステップ階層表で、例外動作を定義するステップを選択します。プロパティ・インスペクタにステップのプロパティが表示されます。
  3. プロパティ・インスペクタの「例外ハンドリング」セクションで、パラメータを次のように設定します。
    • タイムアウト: このステップの最大実行時間(秒)を入力します。この時間を超えると、ステップはロード計画によって中断されます。タイムアウトに到達すると、ステップにエラーのマークが付けられ、例外ステップ(定義されている場合)が実行されます。この場合、例外ステップはタイムアウトになりません。必要に応じて、長時間実行状態になる可能性に備えて、親ステップにタイムアウトを設定できます。

      ステップがタイムアウト前に失敗して例外ステップが実行された場合、そのステップと例外ステップの実行時間の合計はタイムアウトを超えることができません。タイムアウトを超える場合は、タイムアウトに到達した時点で例外ステップが失敗します。

      デフォルト値のゼロ(0)は、タイムアウトが無限であることを示します。

    • 例外ステップ: リストから、このステップが失敗した場合に実行する例外ステップを選択します。このリストに表示されるのは、ロード計画エディタの「例外」タブで作成および定義された例外ステップのみであることに注意してください。例外ステップの作成方法の詳細は、「例外フローの定義」を参照してください。

    • 例外動作: 例外が発生した場合のこのステップの動作を定義します。次のいずれかを選択します。

      • 例外を実行して生成: 例外ステップ(ある場合)を実行し、親ステップに対する例外を生成します。

      • 例外を実行して無視: 例外ステップ(ある場合)を実行し、例外を無視します。親ステップには実行が成功したことが通知されます。ただし、例外ステップ自体で例外が発生した場合は、親ステップに失敗が通知されます。

    パラレル・ステップのみの場合は、次のパラメータを設定できます。

    エラーがある子の最大数: このステップがエラー状態と認識されるまでに許容される、エラー状態の子ステップの最大数が表示されます。失敗した子ステップの数がこの値を超えると、パラレル・ステップは失敗と認識されます。現在実行中の子ステップは、このパラレル・ステップの「再開タイプ」パラメータに応じて、続行または停止されます。

    • 再開タイプが「失敗した子から再開」の場合、ロード計画はすべての子セッション(現在実行中のセッションと実行待機中のセッション)の実行と完了を待機した後で、親ステップに対するエラーを生成します。

    • 再開タイプが「すべての子の再開」の場合、ロード計画は実行中のすべての子セッションを停止し、新しい子セッションを開始せずに親ステップに対するエラーを生成します。

13.2.4.3 再開動作の定義

「再開タイプ」オプションでは、ロード計画再開時のエラー・ステップの再開方法を定義します。「再開タイプ」パラメータは、プロパティ・インスペクタの「例外ハンドリング」セクションで定義できます。

ステップ・タイプに応じて、「再開タイプ」パラメータには、次の表にリストした値を設定できます。

表13-5 再開タイプの値

ステップ・タイプ 値と説明

シリアル

  • すべての子の再開: ロード計画の再開時にこのステップがエラーの場合、一連のステップは最初のステップから再開されます。

  • 失敗から再開: ロード計画の再開時にこのステップがエラーの場合、一連の子ステップは失敗したステップから開始されます。

パラレル

  • すべての子の再開: ロード計画の再開時にこのステップがエラーの場合は、すべての子ステップがステータスに関係なく再開されます。これはデフォルト値です。

  • 失敗した子から再開: ロード計画の再開時にこのステップがエラーの場合は、失敗した子ステップのみが並列して再開されます。

シナリオ実行

  • 新規セッションから再開: ロード計画の再開時にこのシナリオ実行ステップがエラーの場合は、シナリオが開始され、新規セッションが作成されます。これはデフォルト値です。

  • 失敗したステップから再開: ロード計画の再開時にこのシナリオ実行ステップがエラーの場合は、エラーのステップからセッションが再開されます。このステップ内のすべてのタスクが再開されます。

  • 失敗したタスクから再開: ロード計画の再開時にこのシナリオ実行ステップがエラーの場合は、エラーのタスクからセッションが再開されます。

失敗したステップまたは失敗したタスクから再開されたセッションには、Oracle Data Integratorの管理セッションの再開に関する項で説明されている制限と同じ制限が適用されます。

13.3 ロード計画の実行

ロード計画は、ODI Studioのデザイナ・ナビゲータまたはオペレータ・ナビゲータから実行できます。

警告:

ロード計画の「定義」タブの「同時実行コントローラ」オプションを使用して同時実行が制限されていないかぎり、ロード計画の複数のインスタンスの同時実行を禁止する制約は適用されません。ロード計画の2つ以上のインスタンスが同じデータソースおよびターゲットに対する読取り/書込み操作を同時に実行することも可能です。同時実行が行われないようにこの動作をプログラムによって禁止するには、「同時実行の制限」オプションを使用します。

詳細は、「新規ロード計画の作成」を参照してください。

デザイナ・ナビゲータまたはオペレータ・ナビゲータでロード計画を実行するには:

  1. 「ロード計画とシナリオ」アコーディオンで、実行するロード計画を選択します。
  2. 右クリックして「実行」を選択します。
  3. 「ロード計画の開始」ダイアログで、実行パラメータを選択します。
    • ロード計画が実行される「コンテキスト」を選択します。

    • ロード計画を実行する「論理エージェント」を選択します。

    • 変数表に、ロード計画に使用する変数の起動値を入力します。

  4. 「OK」をクリックします。
  5. 「ロード計画が開始しました」ダイアログが表示されます。
  6. 「OK」をクリックします。

ロード計画実行が開始します。ロード計画インスタンスが最初のロード計画実行とともに作成されます。ロード計画実行はオペレータ・ナビゲータで確認できます。

ノート:

OracleDIAgentは、個々のロード計画レベルで定義された「ログ履歴を保持(日数)」パラメータの値に基づいてパージ・ジョブを実行します。ロード計画での作業リポジトリのパージに関するデフォルト値は7日ですが、これよりも長く履歴を保持する必要がある場合は、パラメータに高い値を設定してください。このようなパージ・ジョブはODIが自動的に実行する内部ジョブであり、「オペレータ」パネルには表示されません。

詳細は、『Oracle Data Integratorの管理』統合プロセスの監視に関する章を、またロード計画に対する他のランタイム操作の詳細は、『Oracle Data Integratorの管理』統合プロセスの実行の実行に関する章を参照してください。

13.4 本番でのロード計画の使用

本番でのロード計画の使用には、次のタスクが含まれます:

13.4.1 本番でのロード計画のスケジュールおよび実行

ロード計画のスケジュールおよび実行の方法の詳細(ロード計画実行の実行、再開および停止を含む)は、『Oracle Data Integratorの管理』統合プロセスの実行に関する項を参照してください。

13.4.2 ロード計画のエクスポート、インポートおよびバージョニング

ロード計画をエクスポートして、開発リポジトリまたは実行リポジトリにインポートできます。この操作は、ロード計画を別のリポジトリ(異なる環境やサイト上など)にデプロイするために使用されます。

エクスポート(およびインポート)の手順によって、Oracle Data Integratorオブジェクトをあるリポジトリから別のリポジトリに転送できます。

13.4.2.1 ロード計画のエクスポート

1つのロード計画をエクスポートするか、または複数のロード計画を一度にエクスポートすることが可能です。

1つのロード計画のエクスポートについては、1つのODIオブジェクトのエクスポートで説明している標準の手順に従います。

複数のロード計画を一度にエクスポートする方法の詳細は、複数のODIオブジェクトのエクスポートを参照してください。

ロード計画をエクスポートするときに「子オブジェクトをエクスポート」を選択した場合は、そのすべての子ステップ、スケジュールおよび変数もエクスポートされることに注意してください。

ノート:

ロード計画のエクスポートには、ロード計画が参照するシナリオは含まれません。ロード計画で使用されるシナリオは、個別にエクスポートする必要があります。シナリオのエクスポート方法については、シナリオのエクスポートを参照してください。

13.4.2.2 ロード計画のインポート

開発リポジトリへのロード計画のインポートは、デザイナ・ナビゲータまたはオペレータ・ナビゲータで実行します。実行リポジトリの場合、この目的で使用できるのはオペレータ・ナビゲータのみです。

ロード計画のインポートでは、標準のオブジェクト・インポート・メソッドが使用されます。詳細は、「オブジェクトのインポート」を参照してください。

ノート:

ロード計画のエクスポートには、ロード計画が参照するシナリオは含まれません。ロード計画で使用されるシナリオは、個別にインポートする必要があります。

13.4.2.3 ロード計画のバージョン管理

ロード計画は、バージョンおよびソリューションを使用して、本番にデプロイおよび転送することもできます。詳細は、「バージョン制御(レガシー・モード)の使用」を参照してください。