ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Data Integrator開発者ガイド
11g リリース1 (11.1.1)
B62260-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

4 トポロジの設定

この章では、Oracle Data Integratorにおけるトポロジの設定方法について説明します。Oracle Data Integratorトポロジの概念およびコンポーネントの概要を示しています。

この章は次の項で構成されています。

4.1 Oracle Data Integratorトポロジの概要

Oracle Data Integratorトポロジは、Oracle Data Integratorアーキテクチャおよびコンポーネントの物理および論理表現です。

この項は次のトピックで構成されています。

4.1.1 物理アーキテクチャ

物理アーキテクチャでは、情報システムの様々な要素が、Oracle Data Integratorで考慮される特性とともに定義されます。各タイプのデータベース(Oracle、DB2など)、ファイル形式(XML、フラット・ファイル)またはアプリケーション・ソフトウェアが、Oracle Data Integratorでテクノロジによって表現されます。

テクノロジは書式設定済データを処理します。したがって、各テクノロジは1つ以上のデータ型と関連付けられており、Oracle Data Integratorによるデータ処理スクリプトの生成が可能です。

構造化データを格納および公開する物理コンポーネントは、データ・サーバーとして定義されています。データ・サーバーは常に単一テクノロジにリンクしています。データ・サーバーには、このデータ・サーバーに関連付けられた物理スキーマに宣言されている特定の技術ロジックに従って情報が格納されます。Oracle Data Integratorで使用されるデータベース・サーバー、JMSメッセージ・ファイル、フラット・ファイルのグループなどはすべて、データ・サーバーとして宣言される必要があります。Oracle Data Integratorで使用されるスキーマ、データベース、JMSトピックなどはすべて、物理スキーマとして宣言される必要があります。

最終的に、物理アーキテクチャには物理エージェントの定義が含められます。これらはOracle Data Integratorジョブを実行するJavaソフトウェア・コンポーネントです。

4.1.2 コンテキスト

コンテキストでは、情報システムの物理アーキテクチャ(実際のアーキテクチャ)のコンポーネントと、Oracle Data Integrator論理アーキテクチャ(ユーザーが作業するアーキテクチャ)のコンポーネントが関連付けられます。

たとえば、コンテキストは、類似した物理リソースが存在する様々な実行環境(開発テストおよび本番)または様々な実行場所(ボストン・サイトニューヨーク・サイトなど)に対応している場合があります。

インストール時には、デフォルトのGLOBALコンテキストが作成される点に注意してください。

4.1.3 論理アーキテクチャ

論理アーキテクチャによってユーザーは、類似した物理スキーマのグループを単一の論理スキーマとして識別できます。単一の論理スキーマには、構造的には同一であるが別々の物理的な場所に置かれているデータストアが含まれます。論理スキーマは、その物理スキーマと同様に、テクノロジに関連付けられています。

コンテキストにより、論理スキーマを物理スキーマに解決できます。特定のコンテキストにおいて、単一の論理スキーマが単一の物理スキーマに解決されます。

たとえば、Oracle論理スキーマの会計は、次の2つのOracle物理スキーマに対応する場合があります。

  • 開発コンテキストで使用される会計サンプル

  • 本番コンテキストで使用される会計企業

これらの2つの物理スキーマは、構造的には同一(会計データが含まれる)ですが、別々の物理的な場所に置かれています。これらの場所は2つの異なるOracleスキーマ(物理スキーマ)であり、2つの異なるOracleインスタンス(データ・サーバー)に置かれている可能性があります。

Oracle Data Integratorで開発されたコンポーネントはすべて、論理アーキテクチャの上に設計されています。たとえば、データ・モデルは常に論理スキーマに関連付けられており、データ・フローはこのモデルとともに定義されています。実行時にコンテキストを指定することで、モデルの論理スキーマは単一の物理スキーマに解決され、データ・サーバー内のこのスキーマに含まれるデータには、統合プロセスによってアクセスできます。

4.1.4 エージェント

Oracle Data Integratorランタイム・エージェントにより、ジョブの実行が編成されます。これらのエージェントはJavaコンポーネントです。

ランタイム・エージェントは、リスナーおよびスケジューラ・エージェントとして機能します。たとえば、ジョブがユーザー・インタフェースまたはコマンドラインから手動で開始された場合、エージェントはオンデマンドでジョブを実行します(モデル・リバース、パッケージ、シナリオ、インタフェースなど)。また、エージェントはOracle Data Integratorで定義されたスケジュールに従って、シナリオの実行を開始できます。

サード・パーティのスケジューリング・システムによってエージェントでの実行をトリガーすることもできます。詳細は、19.5.2項「外部スケジューラによるシナリオのスケジュール」を参照してください。

標準的なプロジェクトでは本番に単一エージェントを必要としますが、4.3.3項「エージェントのロード・バランシング」では、ロード・バランシングが実行された複数のエージェントの設定方法を説明しています。

エージェントのライフサイクル

エージェントのライフサイクルは次のとおりです。

  1. エージェントは、開始時にマスター・リポジトリに接続します。

  2. エージェントは、マスター・リポジトリに関連付けられた作業リポジトリに接続し、開始時に次のタスクを実行します。

    • 各作業リポジトリ内の失効したセッションを除去します。これらのセッションは、エージェントまたはリポジトリのクラッシュ後に不正に実行状態で残されたセッションです。

    • 各作業リポジトリ内のスケジュール済シナリオのリストを取得し、そのスケジュールを計算します。

  3. エージェントはポート上でリスニングを開始します。

    • 実行リクエストがエージェントに着信すると、エージェントはこのリクエストを確認してセッションを開始します。

    • エージェントはスケジュールに従ってセッションを開始します。

    • またエージェントは、スケジュールの更新、セッションの停止、pingへの応答または失効したセッションの除去を要求するその他の管理リクエストを処理できます。スタンドアロン・エージェントでも、ライフサイクルを終了する停止シグナルを処理できます。

セッションのライフサイクルの詳細は、第19章「統合プロセスの実行」を参照してください。

エージェントの機能

エージェントはデータ変換サーバーではありません。エージェントはデータ変換は実行せず、かわりに統合プロセスの編成のみを行います。エージェントは、データベース・サーバー、オペレーティング・システムまたはスクリプト・エンジンにデータ変換を委任します。

エージェントは、マルチスレッドの軽量コンポーネントです。エージェントは複数のセッションを並列して実行できます。物理エージェントを宣言する際に、許可されている最大数の同時セッションを調整し、作業リポジトリから並列で実行することをお薦めします。この最大数に到達すると、新規着信セッションはエージェントによってキューされ、他のセッションの終了時に後から実行されます。複数のパラレル・セッションの実行を計画している場合、4.3.3項「エージェントのロード・バランシング」の説明に従ってロード・バランシングの実行を検討できます。

スタンドアロン・エージェントとJava EEエージェント

Oracle Data Integratorエージェントには、スタンドアロン・エージェントおよびJava EEエージェントの2つのフレーバが存在します。

スタンドアロン・エージェントは、独立したJava仮想マシン(JVM)プロセスで動作します。スタンドアロン・エージェントは、JDBCによって、作業リポジトリとソースおよびターゲット・データ・サーバーに接続します。スタンドアロン・エージェントはJavaマシンがインストールされているサーバーにインストールできます。いずれかのデータ・サーバーに対してローカルであるリソース(ファイル・システムまたはデータベース・インスタンスがインストールされたローダー・ユーティリティなど)を使用する必要があり、このマシンにはJava EEアプリケーション・サーバーをインストールしない場合、このタイプのエージェントはより適切です。

Java EEエージェントは、WebアプリケーションとしてJava EEアプリケーション・サーバー(Oracle WebLogic Serverなど)にデプロイされます。Java EEエージェントは、アプリケーション・サーバーのあらゆる機能の恩恵を受けることができます(JDBCデータソースまたはOracle WebLogic Serverのクラスタ化など)。エンタープライズ・アプリケーション・サーバーにおけるすべてのアプリケーションのデプロイおよび管理を集中させる必要がある場合や、高可用性の要件がある場合、このタイプのエージェントはより適切です。

単一環境のスタンドアロン・エージェントおよびJava EEエージェントを、分散環境に混在させることができます。

物理エージェントと論理エージェント

物理エージェントは、単一のスタンドアロン・エージェントまたはJava EEエージェントに対応します。物理エージェントは、トポロジに一意の名前が必要です。

スキーマと同様に、異なる環境で同一の役割を持つ物理エージェントは、同じ論理エージェントにグループ化できます。論理エージェントは、コンテキストによって物理エージェントに関連付けられています。実行の開始時、論理エージェントおよびコンテキストを指定します。Oracle Data Integratorはこの情報を単一の物理エージェントに変換し、物理エージェントが実行リクエストを受信します。

エージェントURL

エージェントはホストおよびポート上で動作し、このポート上でアプリケーション名によって識別されます。また、エージェントURLはエージェント接続に使用するプロトコルを示します。プロトコルに使用できる値は、httpまたはhttpsです。これらの4つのコンポーネントがエージェントURLを構成します。エージェントはこのURLによってアクセスされます。

例:

  • odi_productionマシンのポート8080で開始したスタンドアロン・エージェントは、次のURLでアクセスできます。

    http://odi_production:8080/oraclediagent


    注意:

    スタンドアロン・エージェントのアプリケーション名は常にoraclediagentであり、変更できません。

  • odi_wlsホストにデプロイされたWLSサーバーのポート8000で、oraclediというアプリケーションとして開始されたJava EEエージェントは、次のURLでアクセスできます。

    http://odi_wls:8000/oracledi

4.1.5 言語

言語は、設計時に式を編集する際に使用可能な言語および言語要素を定義します。デフォルトでOracle Data Integratorに用意されている言語には、ユーザーの変更は必要ありません。

4.1.6 リポジトリ

トポロジには、Oracle Data Integratorリポジトリに関する情報が含まれます。リポジトリの定義、構成およびインストールについては、Oracle Data Integratorインストールおよびアップグレード・ガイドを参照してください。

4.2 トポロジの設定

次のステップは、トポロジを作成するためのガイドラインです。初期設定後にトポロジをいつでも変更できます。

  1. 様々な環境に対応するコンテキストを作成します。

  2. Oracle Data Integratorで使用されるサーバーに対応するデータ・サーバーを作成します。

  3. データ・サーバーごとに、Oracle Data Integratorと統合されるデータが含まれるスキーマに対応する物理スキーマを作成します。

  4. 論理スキーマを作成し、コンテキストでこれらを物理スキーマと関連付けます。

  5. 情報システムにインストールされたスタンドアロン・エージェントまたはJava EEエージェントに対応する物理エージェントを作成します。

  6. 論理エージェントを作成し、コンテキストでこれらを物理エージェントと関連付けます。

4.2.1 コンテキストの作成

コンテキストを作成するには:

  1. トポロジ・ナビゲータで、「コンテキスト」アコーディオンを開きます。

  2. アコーディオン・ヘッダーで「新規コンテキスト」をクリックします。

  3. 次の各フィールドに値を入力します。

    • 名前: Oracle Data Integratorグラフィカル・インタフェースに表示されるコンテキストの名前。

    • コード: 様々なリポジトリ間でのコンテキストの参照および識別を可能にする、コンテキストのコード。

    • パスワード: グラフィカル・インタフェースでユーザー・リクエストがこのコンテキストに切り替わった場合にリクエストされるパスワード。クリティカル・コンテキスト(本番データを示すコンテキストなど)にはパスワードを使用することをお薦めします。

    • デザイナ・ナビゲータまたはオペレータ・ナビゲータの各種リストで、このコンテキストをデフォルトで表示する必要がある場合は、「デフォルト」を選択します。

  4. 「ファイル」メニューから「保存」をクリックします。

4.2.2 データ・サーバーの作成

データ・サーバーは、統合フローでOracle Data Integratorによりアクセスされるデータベース、JMSサーバー・インスタンス、スクリプト・エンジンまたはファイル・システムなどに対応します。データ・サーバーでは、物理スキーマの形式で下位区分が作成されます。


注意:

よく使用されるテクノロジのデータ・サーバー作成方法は、Oracle Fusion Middleware Oracle Data Integrator接続性およびナレッジ・モジュール・ガイドを参照してください。

4.2.2.1 前提条件とガイドライン

データ・サーバーの作成時には、次のガイドラインに従うことをお薦めします。

テクノロジ固有の要件の確認

一部のテクノロジでは、次のような要素のインストールおよび構成が必要です。

  • JDBCドライバのインストール。詳細は、Oracle Fusion Middleware Oracle Data Integratorインストールおよびアップグレード・ガイドを参照してください。

  • クライアント・コネクタのインストール。

  • データソースの構成。

データ・サーバーによって接続しているテクノロジのドキュメントおよびOracle Fusion Middleware Oracle Data Integrator接続性およびナレッジ・モジュール・ガイドを参照してください。接続情報は、テクノロジに応じて変更される場合があります。提供されているサーバー・ドキュメントを参照し、接続方法を定義するようサーバー管理者に連絡してください。

Oracle Data Integratorユーザーの作成

Oracle Data Integratorで使用される各データベース・エンジンについて、このデータ・サーバー上にODI専用のユーザーを作成することをお薦めします(通常はODI_TEMP)。

このユーザーに次の権限を付与します:

  • 自分のスキーマでオブジェクトを作成または削除したり、データ操作を実行します。

  • 統合プロセスに必要な操作に従って、このデータ・サーバーのその他のスキーマのオブジェクトにデータを取り込みます。

このユーザーは、次のように使用する必要があります:

  • このユーザーの名前/パスワードをデータ・サーバーのユーザー/パスワード定義で使用します。

  • このユーザーのスキーマを、このサーバー上のすべてのデータ・スキーマの作業スキーマとして使用します。

4.2.2.2 データ・サーバーの作成

データ・サーバーを作成するには:

  1. トポロジ・ナビゲータで、「物理アーキテクチャ」アコーディオンの「テクノロジ」ノードを開きます。

  2. データ・サーバーを作成するテクノロジを選択します。

  3. 右クリックして「新規データ・サーバー」を選択します。

  4. 「定義」タブで、次のフィールドに値を入力します:

    • 名前: Oracle Data Integratorに表示されるデータ・サーバーの名前。

      データ・サーバーの名前を付ける場合は、命名標準の<TECHNOLOGY_NAME>_<SERVER_NAME>を使用することをお薦めします。

    • ...(データ・サーバー): これは他のデータ・サーバーで識別のために使用されるデータ・サーバーの物理名です。データ・サーバーを自然な方法で相互接続できる場合はこの名前を入力します。このパラメータは、一部のテクノロジでは必須ではありません。

      たとえば、Oracleの場合、この名前はインスタンス名に相当しており、DBLinkを使用して別のOracleデータ・サーバーからこのデータ・サーバーにアクセスする際に使用されます。

    • ユーザー/パスワード: データ・サーバーに接続するためのユーザー名およびパスワード。このパラメータは、ファイル・テクノロジなど一部のテクノロジでは必須ではありません。

      テクノロジに応じて、ログイン、ユーザーまたはアカウントを指定できます。JNDIプロトコルを使用した一部の接続については、ユーザー名およびそれに関連するパスワードはオプションです(LDAPディレクトリで指定されている場合)。

  5. データ・サーバーに対して接続パラメータを定義します。

    JDBCによって直接テクノロジにアクセスできます。あるいは、このデータ・サーバーへのJDBC接続がJNDIディレクトリから提供される場合もあります。

    JNDIディレクトリによってテクノロジにアクセスする場合、次の操作を行います。

    1. 「定義」タブで「JNDI接続」を選択します。

    2. 「JNDI」タブに移動し、次のフィールドに入力します:

    フィールド 説明
    JNDI認証
    • なし: 命名またはディレクトリ・サービスへの匿名アクセス
    • 簡易: 認証済アクセス(非暗号化)

    • CRAM-MD5: 認証済アクセス(暗号化されたMD5)

    • <other value>: 認証済アクセス(<other value>に従って暗号化)

    JNDIユーザー/パスワード JNDIディレクトリに接続するユーザー/パスワード
    JNDIプロトコル 接続に使用されるプロトコル

    最も一般的なプロトコルのみをここにリストしています。これは完全なリストではありません。

    • LDAP: LDAPディレクトリへのアクセス

    • SMQP: SwiftMQ MOMディレクトリへのアクセス

    • <other value>: サブプロトコル<other value>に従ったアクセス

    JNDIドライバ JNDI接続を可能にするドライバ

    Sun LDAPディレクトリの例: com.sun.jndi.ldap.LdapCtxFactory

    JNDI URL JNDI接続を可能にするURL

    例: ldap://suse70:389/o=linuxfocus.org

    JNDIリソース 接続パラメータを含むディレクトリ要素

    例: cn=sampledb


    JDBCによってテクノロジに接続する場合、次の操作を行います。

    1. 「JNDI接続」ボックスを選択解除します。

    2. 「JDBC」タブに移動し、次のフィールドに入力します:

      フィールド 説明
      JDBCドライバ データ・サーバーへの接続に使用されるJDBCドライバの名前
      JDBC URL データ・サーバーに接続できるURL

    事前定義済のJDBCドライバおよびURLのリストを取得するには、使用可能なドライバの表示またはURLサンプルの表示をクリックします。

  6. 「ファイル」メニューで、「保存」をクリックしてデータ・サーバーの作成を検証します。

4.2.2.3 データ・サーバーの作成(詳細設定)

次のアクションはオプションです。

接続プロパティの追加

これらのプロパティは、オプションの構成パラメータを指定するために、接続の作成時に渡されます。各プロパティは(キー、値の)ペアです。

  • JDBCの場合: これらのプロパティは、使用されるドライバによって決まります。使用可能なプロパティのリストについては、ドライバのドキュメントを参照してください。JDBCでは、接続用のユーザーおよびパスワードを「定義」タブではなくここで指定できます。

  • JNDIの場合: これらのプロパティは、使用されるリソースによって決まります。

データ・サーバーに接続プロパティを追加するには:

  1. 「プロパティ」タブで、「プロパティを追加」をクリックします。

  2. このプロパティを識別するキーを指定します。このキーは大/小文字が区別されます。

  3. プロパティの値を指定します。

  4. 「ファイル」メニューから「保存」をクリックします。

データソースの定義

「データソース」タブでは、アプリケーション・サーバーにデプロイされたOracle Data Integrator Java EEエージェントでこのデータ・サーバーへの接続に使用されるJDBCデータソースを定義できます。データソースはスタンドアロン・エージェントには適さないため注意してください。

データソースの定義は必須ではありませんが、定義することで、Java EEエージェントはアプリケーション・サーバーで使用可能なデータソースおよび接続プーリングの機能の恩恵を受けることができます。接続プーリングにより、複数セッション間で接続を再利用できます。Java EEエージェントで指定のデータ・サーバーに対してデータソースが宣言されていない場合、このJava EEエージェントは常に直接JDBC接続を使用してデータ・サーバーに接続します。アプリケーション・サーバーのデータソースはいずれも使用しません。

Oracle Data Integratorでデータソースを定義する前に、次の点に注意してください。

  • WebLogic Serverのデータソースは、接続プール構成で文キャッシュ・サイズパラメータを0に設定して作成する必要があります。文キャッシュはデータ統合のパフォーマンスに若干の影響を及ぼし、一部のJDBCドライバでデータの切捨てなどの予期しない結果を招く可能性があります。これはソースおよびターゲットのデータ・サーバーへのデータ接続にのみ影響し、リポジトリ接続には影響しません。

  • 接続プーリングをデータソースで使用する場合、プロシージャおよびナレッジ・モジュールでALTER SESSION文を使用しないことをお薦めします。接続でALTER SESSION文が必要な場合は、関連データソースでの接続プーリングを無効化することをお薦めします。

データ・サーバーに対してJDBCデータソースを定義するには:

  1. データ・サーバー・エディタの「データソース」タブで、「データソースの追加」をクリックします。

  2. 「エージェント」フィールドで物理エージェントを選択します。

  3. 「JNDI名」フィールドにデータソース名を入力します。

    この名前は、アプリケーション・サーバーのデータソース名と一致する必要があるので注意してください。

  4. 環境命名コンテキスト(ENC)を使用する場合は、「JNDI標準」を選択します。

    「JNDI標準」を選択した場合、Oracle Data Integratorでは、アプリケーション・サーバーのJNDIディレクトリでデータソースを識別するために、データソース名の前に文字列java:comp/env/が自動的に付けられます。

    Oracle Weblogic Serverでは、グローバル・データソースを実現するためにJNDI標準を使用することができません。

  5. 「ファイル」メニューから「保存」をクリックします。

Java EEエージェントに対してデータソースを定義した後、Java EEエージェントがデプロイされているアプリケーション・サーバーでデータソースを作成する必要があります。アプリケーション・サーバーでデータソースを作成するには、次のような複数の方法があります。

4.2.2.4 データ・サーバー接続のテスト

トポロジの定義を続行する前に、データ・サーバー接続をテストすることをお薦めします。

データ・サーバーへの接続をテストするには:

  1. トポロジ・ナビゲータで、「物理アーキテクチャ」アコーディオンの「テクノロジ」ノードを開いてから、データ・サーバーが含まれるテクノロジを開きます。

  2. テストするデータ・サーバーをダブルクリックします。データ・サーバー・エディタが開きます。

  3. 「テスト接続」をクリックします。

    「テスト接続」ダイアログが表示されます。

  4. テストを実行するエージェントを選択します。「ローカル(エージェントなし)」は、ローカル・ステーションが接続を試行することを示します。

  5. 「詳細」をクリックし、データベースおよびJDBCドライバの特性および能力を取得します。

  6. 「テスト」をクリックし、テストを起動します。

テストが機能した場合、接続が正常に実行されましたと示すウィンドウが表示され、機能しない場合、エラー・ウィンドウが表示されます。接続失敗の原因の詳細を取得するには、このエラー・ウィンドウの「詳細」ボタンを使用します。

4.2.3 物理スキーマの作成

Oracle Data Integratorの物理スキーマは、次のスキーマのペアに相当します。

  • (データ・)スキーマ。ここで、Oracle Data Integratorはインタフェースのソースおよびターゲット・データ構造を検索します。

  • 作業スキーマ。ここで、Oracle Data Integratorはデータ・スキーマに含まれるソースおよびターゲットに関連付けられた一時作業データ構造を作成し、操作できます。

よく使用されるテクノロジの物理スキーマ作成方法は、Oracle Fusion Middleware Oracle Data Integrator接続性およびナレッジ・モジュール・ガイドを参照してください。

物理スキーマを作成する前に、次の点に注意してください。

  • テクノロジの中には、複数のスキーマをサポートしないものがあります。一部のテクノロジでは、1つのデータ・サーバーのスキーマが1つのみであるため、作業スキーマおよびデータ・スキーマを指定しません。

  • 一部のテクノロジでは、一時構造の作成をサポートしていません。これらのテクノロジでは、作業スキーマは使用できません。

  • 物理スキーマが関連付けられているデータ・サーバーで指定されたユーザーには、このデータ・サーバーに関連付けられたスキーマでの適切な権限が必要です。

物理スキーマを作成するには:

  1. データ・サーバーを選択し、右クリックして「新規物理スキーマ」を選択します。物理スキーマ・エディタが表示されます。

  2. テクノロジが複数のスキーマをサポートしている場合、次の操作を行います。

    1. ...(スキーマ)で、このData Integrator物理スキーマについてデータ・スキーマを選択または入力します。テクノロジがスキーマ・リストをサポートしている場合、スキーマのリストが表示されます。

    2. ...(作業スキーマ)で、このData Integrator物理スキーマについて作業スキーマを選択または入力します。テクノロジがスキーマ・リストをサポートしている場合、スキーマのリストが表示されます。

  3. このスキーマをこのデータ・サーバーのデフォルト・スキーマにする場合は、「デフォルト」ボックスを選択します(最初の物理スキーマが常にデフォルト・スキーマとなります)。

  4. 「コンテキスト」タブに移動します。

  5. 「追加」をクリックします。

  6. この新規物理スキーマに対して、コンテキストおよび既存の論理スキーマを選択します。

    このテクノロジの論理スキーマが存在しない場合、このエディタから作成できます。

    論理スキーマを作成するには:

    1. 左側の列で既存のコンテキストを選択します。

    2. 右側の列で論理スキーマ名を入力します。

      このエディタを保存する際に、この論理スキーマは自動的に作成され、このコンテキスト内のこの物理スキーマに関連付けられます。

  7. 「ファイル」メニューから「保存」をクリックします。

4.2.4 論理スキーマの作成

論理スキーマを作成するには:

  1. トポロジ・ナビゲータで、「論理アーキテクチャ」アコーディオンの「テクノロジ」ノードを開きます。

  2. 論理スキーマを関連付けるテクノロジを選択します。

  3. 右クリックして「新規論理スキーマ」を選択します。

  4. 「スキーマ名」を入力します。

  5. 左側の列の各コンテキストについて、右側の列で既存の物理スキーマを選択します。この物理スキーマはこのコンテキストの論理スキーマと自動的に関連付けられます。必要なすべてのコンテキストについてこの操作を繰り返します。

  6. 「ファイル」メニューから「保存」をクリックします。

4.2.5 物理エージェントの作成

物理エージェントを作成するには:

  1. トポロジ・ナビゲータで、「物理アーキテクチャ」アコーディオンの「エージェント」ノードを右クリックします。

  2. 「新規エージェント」を選択します。

  3. 次の各フィールドに値を入力します。

    • 名前: Javaグラフィカル・インタフェースで使用されるエージェントの名前。

    • ホスト: エージェントが起動されるマシンのネットワーク名またはIPアドレス。

    • ポート: エージェントで使用されるリスニング・ポート。デフォルトでは、このポートは20910です。

    • Webアプリケーション・コンテキスト: アプリケーション・サーバーにデプロイされたJava EEエージェントに対応するWebアプリケーションの名前。スタンドアロン・エージェントの場合、このフィールドはoraclediagentに設定する必要があります。

    • 「プロトコル」はエージェント接続に使用するプロトコルです。使用可能な値は、httpまたはhttpsです。デフォルトはhttpです。

    • このエージェントでサポートされる最大セッション数

  4. ロード・バランシングを設定する場合、「ロード・バランシング」タブに移動し、現在のエージェントが実行を委任できるリンク済物理エージェントのセットを選択します。詳細は、4.3.3.3項「ロード・バランシングの設定」を参照してください。

  5. エージェントが起動されている場合、「テスト」をクリックします。「接続に成功」ダイアログが表示されます。

  6. 「はい」をクリックします。

4.2.6 論理エージェントの作成

論理エージェントを作成するには:

  1. トポロジ・ナビゲータで、「論理アーキテクチャ」アコーディオンの「エージェント」ノードを右クリックします。

  2. 「新規論理エージェント」を選択します。

  3. 「エージェント名」を入力します。

  4. 左側の列の各コンテキストについて、右側の列で既存の物理エージェントを選択します。この物理エージェントはこのコンテキストの論理エージェントと自動的に関連付けられます。必要なすべてのコンテキストについてこの操作を繰り返します。

  5. 「ファイル」メニューから「保存」をクリックします。

4.3 エージェントの管理

この項では、スタンドアロン・エージェントおよびJava EEエージェントの使用方法と、ロード・バランシングの処理方法について説明します。

4.3.1 スタンドアロン・エージェント

スタンドアロン・エージェントの管理は、次の各項で説明するアクションを伴います。


注意:

この項で説明するタスクの実行に必要なエージェント・コマンドライン・スクリプトは、Oracle Data Integratorスタンドアロン・エージェントをインストールした場合のみ使用可能です。スタンドアロン・エージェントのインストール方法の詳細は、Oracle Fusion Middleware Oracle Data Integratorインストレーション・ガイドを参照してください。

4.3.1.1 スタンドアロン・エージェントの構成

odiparamsファイルは、Oracle Data Integratorスタンドアロン・エージェント・コマンドライン・スクリプトのパラメータが含まれる構成スクリプトです。このファイルには、スタンドアロン・エージェントを開始するためのリポジトリ接続および資格証明情報が含まれます。スタンドアロン・エージェントを開始する前にこの構成を行うことが必要です。

このファイルは、Oracle Data Integratorインストール・ディレクトリの/agent/binディレクトリに置かれています。

  • UNIXシステムの場合:

    odiparams.sh

  • Windowsシステムの場合:

    odiparams.bat

このファイルをテキスト・エディタで編集し、構成パラメータを設定できます。


注意:

Oracle Universal Installerを使用してスタンドアロン・エージェントをインストールし、インストール時にリポジトリ接続を構成することを選択した場合、odiparamsファイルは事前構成されています。

これらのパラメータのリストについては、表4-1を参照してください。

表4-1 リポジトリ接続情報

パラメータ 説明

ODI_MASTER_DRIVER

マスター・リポジトリの接続に使用されるJDBCドライバ。

ODI_MASTER_URL

マスター・リポジトリの接続に使用されるJDBC URL。

ODI_MASTER_USER

マスター・リポジトリの接続に使用されるデータベース・アカウント。

ODI_MASTER_ENCODED_PASS

データベース・アカウントのパスワード。このパスワードはencode.[sh|bat] <password>コマンドでコード化される必要があります。

ODI_SECU_WORK_REP

接続先の作業リポジトリの名前。この作業リポジトリは、シナリオが開始されるデフォルト・リポジトリです。詳細は、第19章「統合プロセスの実行」を参照してください。

ODI_SUPERVISOR

ODI SUPERVISORユーザーの名前。このSUPERVISORユーザーは、エージェントによりマスター・リポジトリの接続に使用されます。

ODI_SUPERVISOR_ENCODED_PASS

このSUPERVISORユーザーのパスワード。このパスワードはencode.[sh|bat] <password>コマンドでコード化される必要があります。

ODI_USER

シナリオの開始に使用されるODIユーザーの名前。このユーザーの資格証明は、コマンドラインからシナリオを開始する際に使用されます。詳細は、第19章「統合プロセスの実行」を参照してください。

ODI_ENCODED_PASS

このODIユーザーのパスワード。

ODI_CONNECTION_RETRY_COUNT

リポジトリ接続に失敗した場合に接続を再確立するための再試行回数。デフォルトは0です。ユーザーがデフォルト値を変更しない場合は再試行されません。

リポジトリが機能しなくなり、すぐ後に使用可能になった場合、RETRYパラメータ(ODI_CONNECTION_RETRY_COUNTおよびODI_CONNECTION_RETRY_DELAY)によってエージェントはセッションを続行できます。これらのパラメータは、Oracle RACデータベースに存在するリポジトリの高可用性(HA)リカバリを可能にします。

ODI_CONNECTION_RETRY_DELAY

リポジトリ接続が再試行される間隔(ミリ秒)。デフォルトは7000です。


4.3.1.2 スタンドアロン・エージェントの開始

スタンドアロン・エージェントは、事前定義済のスケジュールどおりに、または要求に応じて、シナリオを実行できます。

スタンドアロン・エージェントを起動するには:

  1. ディレクトリをOracle Data Integratorエージェントの/agent/binディレクトリに変更します。

  2. 次のコマンドを入力してエージェントを開始します。

    • UNIXシステムの場合:

      ./agent.sh

    • Windowsシステムの場合:

      agent.bat

エージェントはリスナーとして起動します。エージェントは、表4-2にリストされたオプション・パラメータを使用できます。

エージェント構成パラメータ

表4-2では、エージェントの構成を可能にする各種パラメータをリストしています。パラメータの前には"-"の文字が置かれ、使用できる値の前には"="の文字が置かれています。コマンドを入力する際には、オペレーティング・システム固有のデリミタの構文を考慮してください。

表4-2 エージェント構成パラメータ

パラメータ 説明

-PORT=<port>

エージェントがリスニングしているポート。デフォルト値は20910です。このポートは、トポロジの物理エージェント定義で指定されているポートと完全一致する必要があります。

-NAME=<agent name>

これは使用されている物理エージェントの名前です。この名前は、トポロジで定義されている物理エージェントの名前と一致する必要があります。このパラメータが指定されていない場合、エージェントはデフォルト名OracleDIAgentで開始されます。

-JMXPORT=<jmx_port>

JMXエージェントのポート番号。エージェントはこのポートでリスニングし、メトリックを提供するJMXリクエストを待機します。デフォルト値はリスニング・ポート + 1000です。たとえば、<port>=20910の場合、<jmx_port>=21910となります。


たとえば、UNIXの場合は、コマンド

./agent.sh -PORT=20300 -NAME=agent_001

により、リポジトリで宣言されているスタンドアロン・エージェントがagent_001としてポート20300で起動されます。


警告:

Windowsプラットフォームの場合は、"="記号またはスペースが含まれるコマンド引数を、二重引用符を使用して区切る必要があります。例:

agent.bat "-PORT=20300" "-NAME=agent_001"


4.3.1.3 エージェントの停止

スタンドアロン・エージェントを停止するには、このエージェントのJavaプロセスを停止します。

スタンドアロン・エージェントを遠隔停止するには、agentstopコマンドを使用します。

スタンドアロン・エージェントを停止するには:

  1. ディレクトリをOracle Data Integratorエージェントの/agent/binディレクトリに変更します。

  2. 次のコマンドを入力してエージェントを停止します。

    • UNIXシステムの場合:

      ./agentstop.sh

    • Windowsシステムの場合:

      agentstop.bat

リスニング中のエージェントが停止します。

例:

  • Windowsの場合: agentstop "-PORT=20300"によりポート20300でエージェントが停止します。

  • UNIXの場合: ./agentstop.shによりデフォルト・ポートでエージェントが停止します。

AgentStopコマンド・パラメータ

次の表では、エージェントを停止するコマンドの各種パラメータをリストしています。パラメータの前には"-"の文字が置かれ、使用できる値の前には"="の文字が置かれています。コマンドを入力する際には、オペレーティング・システム固有のデリミタの構文を考慮してください。

パラメータ 説明
-PORT=<port> このパラメータは非推奨です。同一マシン上のスタンドアロン・エージェントを停止する際に使用されます。これは-AGENT_URL=http://localhost:<port>/oraclediagentのショートカットです。

デフォルト・ポートは20910です。

-AGENT_URL=<agent_url> 停止するスタンドアロン・エージェントのURL。このパラメータはAGENT_NAMEより優先されており、PORTパラメータは非推奨です。
-NAME=<agent name> このパラメータが指定された場合、名前が指定されている物理エージェントは停止します。このエージェントはローカル・エージェントまたはリモート・エージェントであり、マスター・リポジトリで宣言される必要があります。このパラメータはPORTパラメータより優先されます。
-IMMEDIATE=<true(default)|false> このパラメータをyesに設定すると、実行中のセッションの完了を待機せずにエージェントが停止されます。noに設定すると、実行中のセッションがすべて完了した後、またはMAX_WAITタイムアウトに到達した後で、エージェントが停止されます。デフォルト値はNoです。
-MAX_WAIT=<stop timeout in millis> このパラメータは、IMMEDIATEがNoに設定されている場合に使用できます。このパラメータには、実行中のセッションに関係なくエージェントを停止するタイムアウトをミリ秒単位で定義します。デフォルトは0です。これは、タイムアウトが発生せず、実行中のセッションすべてが完了した後で、エージェントが停止されることを意味します。

4.3.2 Java EEエージェント

Java EEエージェントの管理は、次の各項で説明するアクションを伴います。

4.3.2.1 Java EEアプリケーション・サーバー(Oracle WebLogic Server)でのエージェントのデプロイ

Oracle Data IntegratorエージェントをOracle WebLogic Server (WLS)にデプロイする最も簡単な方法は、Oracle Data IntegratorでWLSテンプレートを生成する方法です。このテンプレートはWLS構成ウィザードに直接デプロイできます。

Java EE Application Server (Oracle WebLogic Server)でエージェントをデプロイするには、次のタスクの手順を実行します。

4.3.2.1.1 トポロジにおけるJava EEエージェントの定義

Java EEエージェントの定義は、2つのタスクで構成されます。まず、Java EEエージェントに対応する物理エージェントを作成してから、論理エージェントを作成する必要があります。

物理エージェントを作成するには:

  1. トポロジ・ナビゲータで、「物理アーキテクチャ」アコーディオンの「エージェント」ノードを右クリックします。

  2. 「新規エージェント」を選択します。

  3. 「定義」タブで、次のパラメータに注目します。

    • 「名前」はJava EEエージェント名です。

    • 「ホスト」はWLSホスト名に対応する必要があります。

    • 「ポート」はJava EEエージェント・アプリケーションのHTTPポートです。

    • 「プロトコル」はエージェント接続に使用するプロトコルです。使用可能な値は、httpまたはhttpsです。デフォルトはhttpです。

    • 「Webアプリケーション・コンテキスト」は、Java EEエージェントに対応するWebアプリケーションの名前です。

  4. Java EEデータソースとして管理される作業リポジトリまたはデータ・サーバーを、トポロジ・ナビゲータの「リポジトリ」アコーディオンからこのエージェントのエディタの「データソース」タブにドラッグ・アンド・ドロップします。

  5. これらのデータソースの「JNDI名」を指定します。

  6. このエージェントがアクセスするソース/ターゲット・データ・サーバーを、トポロジ・ナビゲータの「物理アーキテクチャ」アコーディオンからこのエージェントのエディタの「データソース」タブにドラッグ・アンド・ドロップします。

  7. これらのデータソースの「JNDI名」を指定します。

  8. 「ファイル」メニューで、「保存」をクリックして物理エージェントを保存します。

論理エージェントを作成するには:

  1. 4.2.6項「論理エージェントの作成」の説明に従って、この物理エージェントに対する論理エージェントを作成します。

  2. 論理エージェントを適切なコンテキストにマップします。

4.3.2.1.2 Java EEエージェント用のWLSテンプレートの作成

Oracle Data Integratorでは、ランタイム・エージェント用のWLSテンプレートの作成に役立つWLSテンプレート生成ウィザードが用意されています。

WLSテンプレート生成ウィザードを開くには:

  1. 物理エージェント・エディタツールバー・メニューから、「WLSテンプレートの生成」を選択します。これによってテンプレート生成ウィザードが開始されます。

  2. 「エージェント情報」ステップで、エージェント情報を確認し、必要に応じてデフォルト構成を変更します。

    「エージェント情報」には次のパラメータが含まれます。

    • 一般

      エージェント名: デプロイするエージェントの名前が表示されます。

    • マスター・リポジトリ接続

      JNDIデータソース名: マスター・リポジトリに接続するためにJava EEエージェントで使用されるデータソースの名前。テンプレートには、このデータソースの定義を含めることができます。デフォルトはjdbc/odiMasterRepositoryです。

    • 接続の再試行設定

      接続の再試行回数: エージェントによるリポジトリへの接続が切断された場合の再試行回数。ODIリポジトリがOracle RACデータベースに存在する場合、このパラメータをゼロ以外の値に設定すると、高可用性接続再試行機能が有効になります。この機能が有効である場合、1つ以上のOracle RACノードが使用不可になっても、エージェントは中断もなく引き続きセッションを実行できます。

      再試行の遅延(ミリ秒): 各接続再試行の間隔(ミリ秒)。

    • スーパーバイザ認証

      スーパーバイザ・キー: スーパーバイザ権限を持つODIユーザーのログインおよびパスワードが含まれるアプリケーション・サーバー資格証明ストアのキーの名前。このエージェントはこのユーザー資格証明を使用してリポジトリに接続します。

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

  4. 「ライブラリおよびドライバ」ステップで、このエージェントとともにデプロイする外部ライブラリおよびドライバをリストから選択します。ユーザーが追加したライブラリのみがここに表示されます。

    ライブラリは、このエージェントに必要なJARファイルまたはZIPファイルとなる点に注意してください。ソースおよびターゲット・データ・サーバーにアクセスするための追加JDBCドライバまたはライブラリをここで選択する必要があります。

    ツールバーの対応するボタンを使用して、リスト内のすべてのライブラリまたはドライバ(あるいはその両方)を選択または選択解除できます。

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

  6. 「データソース」ステップで、このエージェント・テンプレートに含めるデータソース定義を選択します。ウィザードからはデータソースの選択のみ可能です。これらのデータソースの命名および追加は、物理エージェント・エディタの「データソース」タブで行います。

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

  8. 「テンプレート・ターゲットおよびサマリー」ステップで、WLSテンプレートが生成される「ターゲット・テンプレート・パス」を入力します。

  9. 「終了」をクリックしてウィザードを閉じ、WLSテンプレートを生成します。

    「テンプレート生成情報」ダイアログが表示されます。

  10. 「OK」をクリックし、ダイアログを閉じます。

生成されたテンプレートは、WLS構成ウィザードを使用したWLSでのエージェントのデプロイに使用できます。詳細は、Oracle Fusion Middleware Oracle Data Integratorインストレーション・ガイドを参照してください。

WLS資格証明ストアでのスーパーバイザの宣言

テンプレートのデプロイ後、スーパーバイザをWLS資格証明ストアに宣言する必要があります。詳細は、Oracle Fusion Middleware Oracle Data Integratorインストレーション・ガイドを参照してください。

4.3.2.2 エージェントのWLSにおけるOracle Data Integratorからのデータソースのデプロイ

Java EEエージェントが構成されているWebLogic Serverに、トポロジ・ナビゲータからデータソースを作成できます。

Oracle WebLogic Serverでデータソースをデプロイするには:

  1. データソースをデプロイするWLSアプリケーション・サーバー用に構成された物理エージェント・エディタを開きます。

  2. 「データソース」タブに移動します。

  3. ソース/ターゲット・データ・サーバーを、トポロジ・ナビゲータの「物理アーキテクチャ」ツリーから「データソース」タブにドラッグ・アンド・ドロップします。

  4. これらのデータソースの「JNDI名」を指定します。

  5. いずれかのデータソースを右クリックし、「WLSへのデータソースのデプロイ」を選択します。

  6. 次の各フィールドに値を入力します。

    • ホスト: WLS管理サーバーのホスト名またはIPアドレス。

    • ポート: WLS管理サーバーのポート。

    • ユーザー: WebLogicサーバーのユーザー名。

    • パスワード: このユーザーのパスワード。

    • ターゲット: このデータソースがデプロイされるWLSターゲット。

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


注意:

この操作では、WebLogic Serverにおけるデータソース定義の作成のみが行われます。これらのデータソースが機能するために必要なドライバ・ファイルまたはライブラリ・ファイルはインストールされません。Studioクラスパスに追加されたドライバはWLSエージェント・テンプレートに含めることができます。詳細は、4.3.2.1.2項「Java EEエージェント用のWLSテンプレートの作成」を参照してください。

WLSデータソース構成および使用方法

WebLogic ServerでOracle Data Integrator用にデータソースを設定する場合、次の点に注意してください。

  • データソースは、接続プール構成で文キャッシュ・サイズパラメータを0に設定して作成する必要があります。文キャッシュはデータ統合のパフォーマンスに若干の影響を及ぼし、一部のJDBCドライバでデータの切捨てなどの予期しない結果を招く可能性があります。

  • 接続プーリングをデータソースで使用する場合、プロシージャおよびナレッジ・モジュールでALTER SESSION文を使用しないことをお薦めします。接続でALTER SESSION文が必要な場合は、変更された接続が使用後に接続プールに戻されるため、関連データソースでの接続プーリングを無効化することをお薦めします。

4.3.3 エージェントのロード・バランシング

Oracle Data Integratorでは、物理エージェント間でパラレル・セッション実行のロード・バランシングを実行できます。

各物理エージェントは次で定義されます:

  • 作業リポジトリから同時に実行できる最大セッション数

    最大セッション数の値は、エージェントが動作するマシンの能力に応じて設定する必要があります。また、Oracle Data Integratorエージェントに対して指定する処理能力に応じて設定することもできます。

  • オプションで、セッションの実行を委任できるリンク先物理エージェントの数

エージェントの負荷は、指定時間にこのエージェントの比率(実行中のセッション数 / セッションの最大数)で決定されます。

4.3.3.1 セッションの委任

リンク先エージェントを持つエージェントでセッションが開始されると、Oracle Data Integratorでは負荷のより少ないリンク先エージェントが判別され、このリンク先エージェントにセッションが委任されます。

エージェントは、他のエージェントにすべての着信セッションを委任するのではなく、自身にリンクして一部の着信セッションを実行できます。自身にリンクしていないエージェントは、リンク先エージェントへのセッションの委任のみが可能であり、セッションの実行は不可である点に注意してください。

委任はリンク先エージェントの階層内でカスケードします。エージェントAにエージェントB1およびB2がリンクされており、エージェントB1にエージェントC1がリンクされている場合、エージェントAで開始したセッションはエージェントB2またはC1により実行されます。エージェント・リンクをループさせないようにすることをお薦めします。

ユーザー・パラメータ「新しいロード・バランシングの使用」がはいに設定されている場合、セッション終了ごとにセッションのロード・バランシングも再実行されます。これは、エージェントがセッションを終了した場合、すでに別のエージェントに割り当てられているセッションが再割当される可能性があることを意味します。

4.3.3.2 エージェント使用不可

指定のエージェントについて、実行中のセッション数が最大セッション数に到達した場合、そのエージェントは実行中のセッション数が最大セッション数を下回るまで、着信セッションを「キュー」ステータスにします。

エージェントが(クラッシュしたなどで)使用できず、ユーザー・パラメータ「新しいロード・バランシングの使用」が「はい」に設定されている場合、キュー内のセッションはすべて、セッションを実行しておらずキューにセッションがない別のロード・バランシング済エージェントに再割当されます。詳細は、付録B「ユーザー・パラメータ」を参照してください。

4.3.3.3 ロード・バランシングの設定

ロード・バランシングを設定するには:

  1. 物理エージェントのセットを定義し、これらをエージェントの階層にリンクします(詳細は、物理エージェントの作成を参照してください)。

  2. トポロジで定義されたエージェントに対応する物理エージェントをすべて開始します。

  3. 階層のルート・エージェントで実行を開始します。Oracle Data Integratorにより、リンク先エージェント間で実行のロード・バランシングが行われます。