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ステップ Whenステップ Elseステップ |
これらのステップの組合せによって、変数の値に基づいた条件ブランチが可能になります。 ノート: Caseステップの下に複数のWhenステップがある場合は、条件を満たす最初に有効なWhenステップが実行されます。条件を満たすWhenステップがない場合、またはCaseステップにWhenステップが含まれていない場合は、Elseステップが実行されます。 |
Caseステップの場合
Whenステップの場合
Elseステップの場合
|
例外ステップ |
ステップ階層の関連ステップで例外が発生した場合に実行されるステップのグループを定義します。同じ例外ステップをステップ階層内の複数のステップに関連付けることができます。 |
|
次の図に、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.4 ロード計画エディタの概要
ロード計画エディタは、ロード計画を設計するための単一の環境を提供します。次の図では、ロード計画エディタの概要を示しています。
ロード計画ステップは、ロード計画エディタの「ステップ」タブで追加、編集および編成します。ステップ階層表では、ロード計画のステップの編成を定義します。この表の各行はステップを表し、その主なプロパティが表示されます。
パッケージ、統合マッピング、変数、プロシージャ、またはシナリオなどのコンポーネントをデザイナ・ナビゲータからステップ階層表にドラッグして、これらのコンポーネントのシナリオ実行ステップを作成できます。
ステップ追加ウィザードまたはクイック・ステップ・ツールを使用して、このロード計画にシナリオ実行ステップや他のタイプのステップを追加することもできます。詳細は、「ロード計画ステップの追加」を参照してください。
ステップ階層表の上部にある「ロード計画」エディタのツールバーには、ロード計画のステップを作成、編成および順序付けするためのツールが用意されています。次の図は、様々なツールバー・コンポーネントの詳細を示しています。
表13-2 「ロード計画」エディタのツールバー
アイコン | 名前 | 説明 |
---|---|---|
検索 |
ステップ階層表でステップを検索します。 |
|
すべて展開 |
ステップ階層表内のすべてのツリー・ノードを開きます。 |
|
すべて閉じる |
ステップ階層表内のすべてのツリー・ノードを閉じます。 |
|
ステップの追加 |
「ステップの追加」メニューを開きます。ステップ追加ウィザードまたはクイック・ステップ・ツールのいずれかを選択して、ステップを追加できます。詳細は、「ロード計画ステップの追加」を参照してください。 |
|
ステップの削除 |
選択したステップおよびそのすべての子ステップを削除します。 |
|
並べ替え矢印: 上に移動、下に移動、外に移動、内に移動 |
並べ替え矢印を使用して、選択したステップを必要な位置に移動します。 |
ステップ階層表の下にあるプロパティ・パネルには、ステップ階層表で選択したオブジェクトのプロパティが表示されます。
13.2 ロード計画の作成
この項では、ODI Studioで新規ロード計画を作成する方法について説明します。
-
新規ロード計画を作成します。詳細は、「新規ロード計画の作成」 を参照してください。
-
ロード計画にステップを追加し、ロード計画の順序を定義します。詳細は、「ロード計画ステップの順序の定義」 を参照してください。
-
例外の処理方法を定義します。詳細は、「ロード計画の例外および再開可能の処理」 を参照してください。
13.2.1 新規ロード計画の作成
ロード計画は、デザイナ・ナビゲータまたはオペレータ・ナビゲータから作成できます。
新規ロード計画を作成するには:
ロード計画が「ロード計画とシナリオ」アコーディオンに表示されます。関連するロード計画とシナリオを、ロード計画とシナリオ・フォルダにグループ化して、ロード計画を編成できます。
13.2.2 ロード計画ステップの順序の定義
ロード計画は、子ステップを階層に編成したものです。この階層では、ステップの条件付き処理が並列または順次で行えます。
実行フローは2つのステージで構成できます:
-
設計時。ステップ階層の定義時に構成できます。
-
ロード計画にステップを追加する際に、ステップ・タイプを選択します。ステップ・タイプによって、使用可能な子ステップとこれらの子ステップの実行方法が定義されます。実行方法には、並列、順次、変数の値に基づく条件付き(Caseステップ)があります。ステップ・タイプの詳細は、表13-1を参照してください。
-
ロード計画にステップを追加する際に、ステップの挿入位置も決定します。子ステップを追加、選択したステップの後に兄弟ステップを追加、または選択したステップの前に兄弟ステップを追加できます。詳細は、「ロード計画ステップの追加」 を参照してください。
-
また、ステップを必要な位置にドラッグするか、またはステップ表のツールバーにある矢印を使用して、ロード計画ステップの順序を再編成することもできます。詳細は、表13-2を参照してください。
-
-
設計時および実行時。ステップを有効または無効にして構成できます。ステップ階層表で、ステップを有効または無効にできます。あるステップを無効にすると、そのすべての子ステップも無効になることに注意してください。無効にしたステップとそのすべての子ステップは、ロード計画の実行時に実行されません。
この項では、次の項目について説明します。
13.2.2.1 ロード計画ステップの追加
ロード計画ステップを追加するには、ステップ追加ウィザードを使用するか、または特定のステップ・タイプ用のクイック・ステップ・ツールを選択します。また、オブジェクト(シナリオ、パッケージなど)をコンテナ・ステップにドラッグ・アンド・ドロップして、ロード計画ステップを作成することもできます。ステップは、選択したステップの子として作成されます。ロード計画ステップの各タイプの詳細は、表13-1を参照してください。シナリオ実行ステップを作成するには、パッケージ、マッピング、変数、プロシージャまたはシナリオなどのコンポーネントを、デザイナ・ナビゲータからステップ階層表にドラッグすることもできます。Oracle Data Integratorによって、挿入したコンポーネントに対するシナリオ実行ステップが自動的に作成されます。
追加したロード計画ステップは、必要最小限の設定でステップ階層に挿入されます。ロード計画ステップの構成方法の詳細は、「ロード計画ステップの編集」を参照してください。
ステップ追加ウィザードを使用したロード計画ステップの追加
ステップ追加ウィザードを使用してロード計画ステップを挿入するには:
-
ロード計画エディタを開き、「ステップ」タブに移動します。
-
ステップ階層表のステップを選択します。
-
ロード計画エディタのツールバーで、「ステップの追加」→「ステップ追加ウィザード」の順に選択します。
-
ステップ追加ウィザードで、次の項目を選択します。
-
ステップ・タイプ使用可能なステップ・タイプは、シリアル、パラレル、シナリオ実行、Case、WhenおよびElseです。各種ステップ・タイプの詳細は、表13-1を参照してください。
-
ステップの場所。このパラメータは、ステップが追加される場所を定義します。
-
子ステップを選択に追加: 選択したステップの下にステップが追加されます。
-
兄弟ステップを選択の後に追加: 選択したステップの後に同じレベルでステップが追加されます。
-
兄弟ステップを選択の前に追加: 選択したステップの前に同じレベルでステップが追加されます。
-
ノート:
現在の選択に対して有効な値のみが「ステップ・タイプ」 および「ステップの場所」に表示されます。
-
-
「次へ」をクリックします。
-
追加しているステップ・タイプに対する次の表の指示に従います。
表13-3 ステップの追加ウィザードのアクション
ステップ・タイプ 説明および必要なアクション シリアル・ステップまたはパラレル・ステップ
新しいロード計画ステップのステップ名を入力します。
シナリオ実行ステップ
-
「ルックアップ・シナリオ」ボタンをクリックします。
-
「ルックアップ・シナリオ」ダイアログで、ロード計画に追加するシナリオを選択し、「OK」をクリックします。
または、実行可能オブジェクトに対するシナリオを作成してこのシナリオを使用するには、「実行可能なオブジェクト・タイプ」選択ボックスで該当するオブジェクト・タイプを選択した後、このシナリオ実行ステップで実行する実行可能オブジェクトを選択し、「OK」をクリックします。新しいシナリオ名とバージョンを入力し、「OK」をクリックします。該当するオブジェクトに対する新規シナリオが作成され、このシナリオ実行ステップで使用されます。
ヒント: 設計時に、まだ存在していないシナリオを使用してシナリオ実行ステップを作成する場合があります。この場合、既存のシナリオを選択するかわりに、シナリオ名とバージョン番号を直接入力して、「終了」をクリックします。後で、「シナリオ実行ステップの変更」ウィザードを使用してシナリオを選択できます。詳細は、シナリオ実行ステップのシナリオの変更を参照してください。
バージョン番号
-1
を使用すると、文字列の字句ソート順序に基づいてシナリオの最新バージョンが使用されます。 -
「ステップ名」 にはシナリオの名前が自動的に移入され、「バージョン」フィールドにはシナリオのバージョン番号が移入されます。オプションで、ステップ名を変更します。
-
「次へ」をクリックします。
-
「ロード計画に追加」列で、ロード計画変数に追加するシナリオ変数を選択します。シナリオで特定の変数が起動パラメータとして使用されている場合、その変数はロード計画変数に自動的に追加されます。
詳細は、「ロード計画での変数の使用」 を参照してください。
ケース
-
条件ブランチに使用する変数を選択します。リストからいずれかのロード計画変数を選択するか、または 「ルックアップ変数」をクリックして新規変数をロード計画に追加し、追加した変数をこのCaseステップに使用します。
詳細は、「ロード計画での変数の使用」 を参照してください。
-
「ステップ名」には、変数のステップ・タイプと名前が自動的に移入されます。オプションで、ステップ名を変更します。
詳細は、「ロード計画ステップの編集」 を参照してください。
When
-
WHEN句の評価で使用する演算子を選択します。可能な値は次のとおりです。
-
より小さい(<)
-
以下(<=)
-
異なる(<>)
-
等しい(=)
-
より大きい(>)
-
以上(>=)
-
Nullでない
-
NULLである
-
-
WHEN句の評価で使用する「値」を入力します。
-
「ステップ名」には、使用される演算子が自動的に移入されます。オプションで、ステップ名を変更します。
詳細は、「ロード計画ステップの編集」 を参照してください。
Else
「ステップ名」 には、ステップ・タイプが自動的に移入されます。オプションで、ステップ名を変更します。
詳細は、「ロード計画ステップの編集」 を参照してください。
-
-
「終了」をクリックします。
-
ステップがステップ階層に追加されます。
ノート:
ステップを必要な位置にドラッグするか、またはステップ表のツールバーにある並べ替え矢印を使用してステップ階層のステップを移動して、ロード計画ステップの順序を再編成できます。
クイック・ステップ・ツールを使用したロード計画ステップの追加
クイック・ステップ・ツールを使用してロード計画ステップを挿入するには:
-
ロード計画エディタを開き、「ステップ」タブに移動します。
-
ステップ階層で、子ステップを作成するロード計画ステップを選択します。
-
ステップのツールバーで、「ステップの追加」を選択し、追加するステップ・タイプに対応するクイック・ステップのオプションを選択します。次の表に、クイック・ステップ・ツールのオプションを示します。
表13-4 クイック・ステップ・ツール
クイック・ステップ・ツールのオプション 説明および必要なアクション 選択したステップの子としてシリアル・ステップを追加します。デフォルト値が使用されます。これらの値は、ステップ階層表またはプロパティ・インスペクタで変更できます。詳細は、「ロード計画ステップの編集」 を参照してください。
選択したステップの子としてパラレル・ステップを追加します。デフォルト値が使用されます。これらの値は、ステップ階層表またはプロパティ・インスペクタで変更できます。詳細は、「ロード計画ステップの編集」 を参照してください。
選択したステップの子としてシナリオ実行ステップを追加します。表13-3のシナリオ実行ステップに関する指示に従います。
選択したステップの子としてCaseステップを追加します。表13-3のCaseステップに関する指示に従います。
選択したステップの子としてWhenステップを追加します。表13-3のWhenステップに関する指示に従います。
選択したステップの子としてElseステップを追加します。表13-3のElseステップに関する指示に従います。
ノート:
クイック・ステップ・ツールでは、現在の選択項目に対して有効なステップ・タイプのみが有効になります。
13.2.2.2 ロード計画ステップの編集
ロード計画ステップを編集するには:
-
ロード計画エディタを開き、「ステップ」タブに移動します。
-
ステップ階層表で、変更するロード計画ステップを選択します。プロパティ・インスペクタにステップのプロパティが表示されます。
-
必要に応じて、ロード計画ステップのプロパティを編集します。
次の操作は、ステップ編集時の一般的なタスクです:
シナリオ実行ステップのシナリオの変更
シナリオを変更するには:
-
「ステップ」または「例外」タブのステップ階層表で、シナリオ実行ステップを選択します。
-
プロパティ・インスペクタの「ステップ・プロパティ」セクションで、「ルックアップ・シナリオ」をクリックします。「シナリオ実行ステップの変更」ウィザードが開きます。
-
「シナリオ実行ステップの変更」ウィザードで、「ルックアップ・シナリオ」をクリックし、表13-3のシナリオ実行ステップに対応する指示に従います。
シナリオ実行ステップの拡張オプションの設定
プロパティ・インスペクタで、シナリオ実行ステップの次のプロパティを設定できます:
-
優先度: シナリオを並列して開始する必要がある場合のこのステップの優先度。0から100 (100が最も高い優先度)の整数値です。デフォルトは0です。シナリオ実行ステップの優先度は、実行中のロード計画内のすべての実行可能シナリオの間で評価されます。優先度が最も高いシナリオ実行ステップが最初に実行されます。
-
コンテキスト: ステップ実行に使用されるコンテキスト。デフォルト・コンテキストは、ロード計画の実行時に「ロード計画の開始」ダイアログで定義されるロード計画コンテキストです。コンテキストのみを指定して、論理エージェントの値を指定しない場合、ステップは、ロード計画を開始した同じ物理エージェントで開始されますが、この指定したコンテキスト内で開始されます。
-
論理エージェント: ステップ実行に使用される論理エージェント。デフォルトでは、ロード計画の実行時に「ロード計画の開始」ダイアログで定義される論理エージェントが使用されます。論理エージェントのみを設定してコンテキストを設定しない場合、ステップは、ロード計画の開始時に指定したコンテキストで解決された、指定の論理エージェントに対応する物理エージェントで開始されます。論理エージェント値を指定しない場合、ステップは、ロード計画を開始した同じ物理エージェントで開始されます(ステップにコンテキストを指定しているかどうかは関係ありません)。
シナリオ実行ステップのリンクされたオブジェクトを開く
シナリオ実行ステップは、パッケージ、マッピング、変数、プロシージャまたはシナリオに対して作成できます。シナリオ実行ステップが作成されると、元のオブジェクトのオブジェクト・エディタを開いてシナリオ実行ステップを編集できます。
シナリオ実行ステップのリンクされたオブジェクトを表示および編集するには:
-
「ステップ」または「例外」タブのステップ階層表で、シナリオ実行ステップを選択します。
-
右クリックして「リンクされたオブジェクトを開く」を選択します。
リンクされたオブジェクトのオブジェクト・エディタが表示されます。
Caseステップのテスト変数の変更
WHEN文で定義されたテストの評価に使用する変数を変更するには:
-
「ステップ」タブまたは「例外」タブのステップ階層表で、Caseステップを選択します。
-
プロパティ・インスペクタの「ステップ・プロパティ」セクションで、「ルックアップ変数」をクリックします。「Caseステップの変更」ダイアログが開きます。
-
「Caseステップの変更」ダイアログで、「ルックアップ変数」をクリックし、Caseステップに対応する表13-3のCaseステップに対応する指示に従います。
例外および再開動作の定義
例外および再開の動作は、ステップ階層表のステップに設定できます。詳細は、「ロード計画の例外および再開可能の処理」 を参照してください。
シナリオの再生成
特定のロード計画ステップのシナリオをその子ステップのシナリオも含めてすべて再生成するには:
-
「ステップ」タブまたは「例外」タブのステップ階層表から、ロード計画ステップを選択します。
-
右クリックして「再生成」を選択します。このオプションは、バージョン番号が
-1
のシナリオには使用できないことに注意してください。 -
「OK」をクリックします。
警告:
シナリオの再生成は元に戻すことができません。重要なシナリオの場合は、新しいバージョン番号を使用してシナリオを生成することをお薦めします。
シナリオの最新バージョンへのリフレッシュ
特定のロード計画ステップのシナリオ・ステップをその子ステップのシナリオも含めてすべて変更し、シナリオのバージョンを各シナリオに使用可能な最新バージョンに設定するには:
13.2.2.3 ステップの削除
ステップを削除するには:
- ロード計画エディタを開き、「ステップ」タブに移動します。
- ステップ階層表で、削除するステップを選択します。
- ロード計画エディタのツールバーで、「ステップの削除」選択します。
ステップとその子ステップがステップ階層表から削除されます。
ノート:
ステップ階層表での削除操作は元に戻すことができません。
13.2.3 ロード計画での変数の使用
ロード計画で使用するプロジェクト変数とグローバル変数は、ロード計画エディタでロード計画変数として宣言されます。これらの変数はすべてのステップで自動的に使用可能になり、その値がロード計画ステップに渡されます。
変数の値は、ロード計画の開始時に起動パラメータとしてロード計画に渡されます。ステップ・レベルでは、変数値を設定するか、またはリフレッシュを強制的に実行して、ステップとその子ステップの変数値を上書きできます。
ノート:
ロード計画変数は、プロジェクト変数およびグローバル変数のコピーです。このため、元のプロジェクト変数およびグローバル変数の定義に対する変更が、すでにロード計画で作成された対応する変数に自動的に伝播されることはありません。右クリック・コンテキスト・メニューの「変数定義のリフレッシュ」オプションを使用して、ロード計画変数の定義を、対応するプロジェクト変数またはグローバル変数からの現在の値で更新できます。
ロード計画変数は元のプロジェクト変数またはグローバル変数のコピーであるため、ロード計画で元のプロジェクト変数またはグローバル変数のデフォルト値や、実行コンテキストにおける変数の履歴/最新値が考慮されることはありません。変数の値は、ロード計画の開始時に指定した値、またはロード計画内で設定/リフレッシュした値です。
変数は、シナリオ実行ステップ(変数の値は起動パラメータとしてシナリオに渡されます)、または条件付きブランチのCase/When/Elseステップで使用できます。
この項では、次の項目について説明します。
13.2.3.1 ロード計画の変数の宣言
ロード計画変数を宣言するには:
- ロード計画エディタを開き、「変数」タブに移動します。
- ロード計画エディタのツールバーから、「変数の追加」を選択します。「ルックアップ変数」ダイアログが表示されます。
- 「ルックアップ変数」ダイアログで、ロード計画に追加する変数を選択します。
- 変数は、ロード計画エディタの「変数」タブと各ステップのプロパティ・インスペクタに表示されます。
13.2.3.2 ステップの変数値の設定
ステップ内の変数の値は、親ステップの値から継承されます。つまり、最終的にはロード計画の開始時に変数に指定した値から継承されます。
ElseステップとWhenステップを除く各ステップの場合、変数値を上書きすることもでき、このステップとその子ステップに使用される値を変更することもできます。
特定のステップで上書きまたはリフレッシュされた変数値は、その値が子孫分岐で再度上書きまたはリフレッシュされるまで、そのステップのすべての子孫に対して使用可能です。同様に、特定のステップで上書きまたはリフレッシュされた変数値が兄弟ステップや親ステップの値に影響を与えることはありません。
ステップ・レベルで変数値をオーバーライドするには:
13.2.4 ロード計画の例外および再開可能の処理
ロード計画には、実行フローでエラーを処理するために、例外と再開可能の2つの機能が用意されています。
例外
例外ステップには、ロード計画エディタの「例外」タブで定義されたステップの階層が含まれます。
特定の例外ステップをロード計画の1つ以上のステップに関連付けることができます。ロード計画のステップでエラーが発生した場合は、関連付けられている例外ステップが自動的に実行されます。
必要に応じて、失敗したステップの親ステップに対して例外を生成するように設定できます。例外を生成すると、親ステップが失敗するため、親ステップの例外ステップを実行できます。
再開可能
ロード計画実行が失敗後に再開されるとき、失敗したロード計画ステップは、「再開タイプ」パラメータに応じて再開されます。たとえば、パラレル・ステップでそのすべての子ステップを再開するか、または失敗した子ステップのみを再開するかを定義できます。
この項では、次の項目について説明します。
13.2.4.1 例外フローの定義
例外ステップは、ロード計画エディタの「例外」タブで作成および定義します。
このタブには、例外ステップのリストが含まれます。各例外ステップは、ロード計画ステップの階層に存在します。「例外」タブは、ロード計画エディタの「ステップ」タブに類似しています。主な違いは次のとおりです。
-
例外ステップ階層にルート・ステップはありません。各例外ステップは、個別のルート・ステップになります。
-
シリアル、パラレル、シナリオ実行およびCaseの各ステップには、「ステップ」タブで同じプロパティを設定できますが、例外処理のプロパティ・グループは設定されません。エラーが発生した例外ステップによって他の例外ステップを生成することはできません。
例外ステップは、ステップ追加ウィザードを使用するか、またはロード計画エディタのツールバーで「ステップの追加」→「例外ステップ」を選択することによって、クイック・ステップ・ツールで作成できます。デフォルトで、例外ステップは、「例外」というステップ名で作成されます。この名前は、ステップ階層表またはプロパティ・インスペクタで変更できます。
ステップ追加ウィザードを使用して例外ステップを作成するには:
これで、この例外ステップの下に新しいステップを追加して階層を編成することによって、例外フローを定義できます。
13.2.4.2 例外処理の使用
ロード計画ステップの例外処理の定義では、このロード計画ステップに例外ステップを関連付け、例外動作を定義します。例外ステップは、WhenステップとElseステップを除く各ステップに対して設定できます。
ロード計画ステップの例外処理を定義するには:
13.2.4.3 再開動作の定義
「再開タイプ」オプションでは、ロード計画再開時のエラー・ステップの再開方法を定義します。「再開タイプ」パラメータは、プロパティ・インスペクタの「例外ハンドリング」セクションで定義できます。
ステップ・タイプに応じて、「再開タイプ」パラメータには、次の表にリストした値を設定できます。
表13-5 再開タイプの値
ステップ・タイプ | 値と説明 |
---|---|
シリアル |
|
パラレル |
|
シナリオ実行 |
失敗したステップまたは失敗したタスクから再開されたセッションには、Oracle Data Integratorの管理のセッションの再開に関する項で説明されている制限と同じ制限が適用されます。 |
13.3 ロード計画の実行
ロード計画は、ODI Studioのデザイナ・ナビゲータまたはオペレータ・ナビゲータから実行できます。
警告:
ロード計画の「定義」タブの「同時実行コントローラ」オプションを使用して同時実行が制限されていないかぎり、ロード計画の複数のインスタンスの同時実行を禁止する制約は適用されません。ロード計画の2つ以上のインスタンスが同じデータソースおよびターゲットに対する読取り/書込み操作を同時に実行することも可能です。同時実行が行われないようにこの動作をプログラムによって禁止するには、「同時実行の制限」オプションを使用します。
詳細は、「新規ロード計画の作成」を参照してください。
デザイナ・ナビゲータまたはオペレータ・ナビゲータでロード計画を実行するには:
ロード計画実行が開始します。ロード計画インスタンスが最初のロード計画実行とともに作成されます。ロード計画実行はオペレータ・ナビゲータで確認できます。
ノート:
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 ロード計画のバージョン管理
ロード計画は、バージョンおよびソリューションを使用して、本番にデプロイおよび転送することもできます。詳細は、「バージョン制御(レガシー・モード)の使用」を参照してください。