この章の内容は次のとおりです。
コンポーネントが完成し、テストした後は、その実際の状態に対応するシナリオを生成できます。この操作は、デザイナ・ナビゲータで実行します。
シナリオのコード(生成された言語)は確定されます。確定後に、シナリオの作成の基となったコンポーネントが変更された場合でも、シナリオが変更されることはありません。
パッケージ、プロシージャ、マッピングまたは変数のシナリオを生成できます。プロシージャ、マッピングまたは変数用に生成されるシナリオは、プロシージャの実行、マッピング、または変数のリフレッシュを行う単一ステップのシナリオです。
シナリオ変数は、シナリオで使用される変数であり、シナリオの開始時にその動作をパラメータ化するために設定する必要があります。
一度生成されると、シナリオは作業リポジトリ内に格納されます。このシナリオは、エクスポートして別のリポジトリ(リモートまたはリモート以外)にインポートし、様々なコンテキストで使用できます。シナリオを作成できるのは開発作業リポジトリからのみですが、開発作業リポジトリと実行作業リポジトリの両方にインポートできます。
シナリオは、オペレータ・ナビゲータとデザイナ・ナビゲータの両方で「ロード計画とシナリオ」セクションに表示されます。シナリオは、デザイナ・ナビゲータの「プロジェクト」セクションのプロジェクト内にも表示されます。
シナリオはバージョン管理することもできます。詳細は、バージョン制御(レガシー・モード)の使用を参照してください。
シナリオは、Oracle Data Integrator Studioのコマンド行から起動でき、ランタイム・エージェントの組込みスケジューラまたは外部スケジューラを使用してスケジュールできます。シナリオ実行およびシナリオのスケジュールの詳細は、Oracle Data Integratorの管理の統合プロセスの実行を参照してください。
オブジェクトに対するシナリオの生成では、本番環境でのデプロイおよび実行に使用する、このオブジェクト用のコードがコンパイルされます。
シナリオを生成するには:
シナリオは「シナリオ」タブに表示されます。また、プロジェクトの下にあるソース・オブジェクトの「シナリオ」ノードの下に表示されます。
既存のシナリオを同じ名前とバージョン番号で再生成できます。再生成では、ソース・オブジェクトの内容から生成したシナリオで既存のシナリオを置換できます。既存のシナリオに関連付けられているスケジュールは保持されます。
シナリオを再生成するには:
注意:
シナリオの再生成は元に戻すことができません。重要なシナリオの場合は、新しいバージョン番号を使用してシナリオを生成することをお薦めします。
プロジェクトまたはフォルダにグループ化されたパッケージ、マッピング、プロシージャおよび変数のセットが完成し、テストした後、シナリオを生成できます。この操作は、デザイナ・ナビゲータで実行します。
シナリオ・グループを生成するには:
デフォルトでは、同じシナリオまたはロード計画の2つのインスタンスを同時に実行できます。
この状況は複数の場合に発生します。次に例を示します。
シナリオ実行ステップを含むロード計画が2つ以上のインスタンスで実行されているために、シナリオ実行ステップが2つ以上のロード計画インスタンスで同時に実行される可能性がある場合。
シナリオがコマンドラインから、ODI Studioから、またはエージェントでのスケジュールに従って実行されるが、すでに同じシナリオの別のインスタンスが同じエージェント、別のエージェントまたはODI Studioセッションで実行されている場合。
同じシナリオまたはロード計画の同時実行は、すべてのリモート・エージェントおよび内部エージェントにわたって適用されます。
シナリオまたはロード計画の複数のインスタンスを同時に実行することは、特にジョブでデータの書込みが行われる場合、お薦めしません。同時実行は、同時実行制御オプションを使用して制御できます。
ODIは、特定のシナリオまたはロード計画を、名前およびバージョンではなく内部IDで識別します。このため、同じ内部IDを持つシナリオまたはロード計画は、再生成後または変更後も同じシナリオまたはロード計画として処理されます。反対に、シナリオを削除してから、同じ名前およびバージョン番号で新しいシナリオを生成すると、別のシナリオが生成されます(別の内部IDを持つため)。
同時実行制御はシナリオまたはロード計画に対していつでも有効化または無効化できますが、すでに実行中のセッションおよび新しく開始されるセッションには次のような影響があります。
同時実行制御を無効から有効に切り替えると、すでに実行中のジョブおよびキューに入っているジョブは実行中ジョブとしてカウントされ、新しいジョブ発行はジョブ発行時の同時実行制御設定を使用して処理されます。
シナリオまたはロード計画の同時実行制御を有効から無効に切り替えると、すでに発行されて待機状態にあるジョブ(または後で再開されるジョブ)は元の同時実行制御設定値を保持するため、実行中のジョブとキューに入っているジョブを実行中ジョブとみなして待機します。
ただし、同時実行制御が無効になった状態で新しいジョブが発行されると、すでに待機中のジョブよりも先に実行されることがあります。その結果、ポーリングの時点で、同時実行制御が有効になっていない状態で開始された実行中ジョブがシステムで検出されると、待機中のジョブが遅延する可能性があります。また、待機中のジョブが最終的に実行を開始した後も、後で発行されて同時に実行されている制御対象外のジョブによる影響を受けることがあります。
シナリオまたはロード計画の同時実行を制限するには、次の手順を実行します。
エクスポート(およびインポート)の手順によって、Oracle Data Integratorオブジェクトをあるリポジトリから別のリポジトリに転送できます。
単一のシナリオ、またはシナリオのグループをエクスポートできます。
1つの単一シナリオのエクスポートについては、1つのODIオブジェクトのエクスポートを参照してください。
シナリオ・グループをエクスポートするには:
XML形式のエクスポート・ファイルが指定した場所に作成されます。
デザイナから生成したシナリオをエクスポートして、開発リポジトリまたは実行リポジトリにインポートできます。この操作は、シナリオを別のリポジトリ(異なる環境やサイト上など)にデプロイするために使用されます。
開発リポジトリへのシナリオのインポートは、デザイナ・ナビゲータまたはオペレータ・ナビゲータで実行します。実行リポジトリの場合、この目的で使用できるのはオペレータ・ナビゲータのみです。
シナリオをインポートする方法は、次の2通りあります。
「インポート」 では、標準のオブジェクト・インポート・メソッドが使用されます。このインポート・プロセス時に、エクスポートしたシナリオに関連付けられているスケジュールをインポートするかどうかを選択できます。
「置換のインポート」では、既存のシナリオがエクスポート・ファイルの内容で置換されます。他のオブジェクトからこのシナリオへの参照は保持されます。元のシナリオのセッション、シナリオ・レポートおよびスケジュールは削除され、エクスポート・ファイルのスケジュールで置換されます。
シナリオは、バージョンおよびソリューションを使用して、本番にデプロイおよび転送することもできます。詳細は、バージョン制御(レガシー・モード)の使用を参照してください。
1つ以上のシナリオをOracle Data Integratorにインポートするには:
シナリオは作業リポジトリにインポートされます。また、オペレータ・ナビゲータの「シナリオ」ツリーに表示されます。この作業リポジトリが開発リポジトリの場合、これらのシナリオは、そのソースのパッケージ、マッピング、プロシージャまたは変数にも関連付けられます。
エクスポートしたシナリオでシナリオを置換する場合は、「置換のインポート」モードを使用します。
シナリオを置換モードでインポートするには:
シナリオは、生成された作業リポジトリとは異なる作業リポジトリから操作する必要がある場合があります。
例
次に、このタイプのプロセスが発生する組織の例を2つ示します。
企業に、同じソフトウェア・アプリケーションを使用する代理店が多数ある場合。IT本部では、データを中央データ・センターに一元化するパッケージとシナリオを開発します。これらのシナリオは、各代理店で同様に実行されるように設計されます。
企業に、ソフトウェア・アプリケーションの開発、調整および運用を目的とした3つの別個のIT環境が存在している場合。この企業のプロセスでは、完全に独立した環境が要求されるため、リポジトリを共有できません。
前提条件
この組織の前提条件は、各環境(サイト、代理店または環境)に作業リポジトリをインストールしていることです。この作業リポジトリに関連付けられるマスター・リポジトリのトポロジには、論理アーキテクチャの観点から互換性がある必要があります(同じ論理スキーマ名)。物理アーキテクチャで記述される接続特性は、異なっていてもかまいません。
一部のプロシージャまたはマッピングでコンテキスト・コードを明示的に指定する場合は、ターゲット・トポロジに同じコンテキスト・コードが含まれる必要があることに注意してください。トポロジ(つまり、物理アーキテクチャと論理アーキテクチャ)は、開発のマスター・リポジトリからエクスポートし、ターゲット・リポジトリにインポートすることもできます。この操作は、トポロジ・モジュールを使用して実行します。この場合、物理トポロジ(サーバーのアドレス)は、シナリオを操作する前にパーソナライズする必要があります。トポロジのインポートでは、ターゲット・リポジトリにすでに存在するデータ・サーバーは変更されず、単に新規データ・サーバーが参照されることにも注意してください。
異なる作業リポジトリからシナリオを操作するには:
シナリオを暗号化すると、重要なコードを保護できます。暗号化されたシナリオは実行できますが、復号化しないかぎり、読み取ったり変更することはできません。暗号化されたシナリオによってログに生成されるコマンドも読み取ることはできません。
Oracle Data Integratorでは、個人暗号化鍵に基づいたDES暗号化アルゴリズムが使用されます。この鍵は、ファイルに保存して、暗号化または復号化操作を実行する際に再利用できます。
警告:
暗号化されたシナリオまたはプロシージャを暗号化鍵なしで復号化する方法はありません。したがって、この鍵は安全な場所に保管しておくことを強くお薦めします。
シナリオを暗号化するには:
デザイナ・ナビゲータまたはオペレータ・ナビゲータで、暗号化するシナリオを選択します。
右クリックして「暗号化」を選択します。
「暗号化オプション」ダイアログで、次のいずれかの操作を実行します。
個人キーで暗号化します: 個人キー・ファイルの場所を指定するか、個人キーの値を入力して、すでに存在している個人キーで暗号化します。
新規暗号化鍵を取得します: 新しい鍵を生成します。
「OK」をクリックしてシナリオを暗号化します。新しい鍵の生成を選択した場合は、ダイアログに新しい鍵も表示されます。「保存」をクリックして、鍵をファイルに保存します。
注意:
文字数が少なすぎる個人キーを入力すると、キー・サイズが無効であるというエラーが発生します。
シナリオを復号化するには:
復号化が完了するとメッセージが表示されます。