ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Data Integrator開発者ガイド
12c (12.1.2)
E49827-03
  目次へ移動
目次

前
 
次
 

4 トポロジの設定

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

この章には次の項が含まれます:

Oracle Data Integratorトポロジの概要

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

この章に記載されている手順を実行する前に、『Oracle Data Integratorインストレーション・ガイド』の説明に従って、構成済のOracle Data Integrator、データベース・スキーマ、ドメインおよびエージェントをインストールしておく必要があります。


注意:

インストレーション・ガイドでは、物理サーバー上のサーバー、フォルダおよびファイルの各編成を指してトポロジという用語が使用されている項があります。この章では、ODI Studioのトポロジ・ナビゲータを使用して構成されたトポロジを指します。


この項には次のトピックが含まれます:

物理アーキテクチャ

物理アーキテクチャでは、情報システムの様々な要素が、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ソフトウェア・コンポーネントです。

コンテキスト

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

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

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

論理アーキテクチャ

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

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

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

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

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

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

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

エージェント

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

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

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

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

ODI Studioでもオンデマンドでジョブを直接実行できます。この内部エージェントを使用して開発および初期テストを行うことができます。ただし、外部エージェントの完全な本番機能を備えているわけではないため、本番データの統合には適していません。ジョブの実行時に、「実行」ダイアログで、「論理エージェント」「ローカル(エージェントなし)」を選択すると、ODI Studioを使用してジョブを直接実行します。ジョブをローカルで実行する場合、次の機能が利用できないことに注意してください。

  • 失効したセッションのクリーンアップ

  • 実行中のセッションを停止する機能

  • ロード・バランシング

これらのいずれかの機能が必要な場合は、外部エージェントを使用する必要があります。

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

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

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

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

    • このエージェントの起動時に実行する必要がある未処理のタスクを、すべての作業リポジトリで実行します。

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

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

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

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

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

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

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

エージェントの機能

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

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

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

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

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

Java EEエージェントは、WebアプリケーションとしてJava EEアプリケーション・サーバー(Oracle WebLogic Server、IBM WebSphereなど)にデプロイされます。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

言語

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

リポジトリ

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

トポロジの設定

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

  1. 様々な環境に対応するコンテキストを作成します。「コンテキストの作成」を参照してください。

  2. Oracle Data Integratorで使用されるサーバーに対応するデータ・サーバーを作成します。「データ・サーバーの作成」を参照してください。

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

  4. 論理スキーマを作成し、コンテキストでこれらを物理スキーマと関連付けます。「論理スキーマの作成」を参照してください。

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

  6. 論理エージェントを作成し、コンテキストでこれらを物理エージェントと関連付けます。「論理エージェントの作成」を参照してください。

コンテキストの作成

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

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

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

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

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

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

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

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

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

データ・サーバーの作成

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


注意:

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


前提条件とガイドライン

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

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

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

  • JDBCドライバのインストール。詳細は、『Oracle Data Integratorのインストールと構成』を参照してください。

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

  • データソースの構成。

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

Oracle Data Integratorユーザーの作成

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

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

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

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

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

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

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

データ・サーバーの作成

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

  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. 「ファイル」メニューで、「保存」をクリックしてデータ・サーバーの作成を検証します。

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

次の操作はオプションです。

接続プロパティの追加

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

  • 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/が自動的に付けられます。

    JNDI標準は、Oracle WebLogic Serverではサポートされておらず、グローバル・データ・ソースに対してはサポートされていないことに注意してください。

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

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

接続時または切断時のコマンドの設定

「接続/切断時」タブでは、物理アーキテクチャに定義されているデータ・サーバーへの接続の作成時またはクローズ時に実行するSQLコマンドを定義できます。

接続時のコマンドは、ODIコンポーネント(ODIクライアント・コンポーネントを含む)がこのデータ・サーバーに接続されるたびに実行されます。

切断時のコマンドは、ODIコンポーネント(ODIクライアント・コンポーネントを含む)がこのデータ・サーバーから切断されるたびに実行されます。

これらのSQLコマンドは、データ・サーバー定義とともにマスター・リポジトリに格納されます。

接続時または切断時のコマンドを設定する前に、次にことに注意してください。

  • 接続時および切断時のコマンドは、テクノロジ・タイプが「データベース」(JDBC)のデータ・サーバーでのみサポートされます。

  • 接続時および切断時のコマンドは、データソースを使用している場合も実行されます。この場合、コマンドは、接続プールに対して接続を取得および解放するときに実行されます。

  • 置換APIがサポートされています。設計時タグ<%はサポートされていません。実行時タグ<?および<@はサポートされています。

  • 置換モードではグローバル変数(#GLOBAL.<VAR_NAMEまたは#<VAR_NAME)のみがサポートされています。詳細は、変数の有効範囲を参照してください。式エディタには、現在のデータ・サーバーに有効な変数のみが表示されます。

  • 接続時および切断時のコマンドに使用される変数は、実行時にのみ置換され、その時点でセッションが開始します。データ・サーバーの接続をテストする場合や、このデータ・サーバーでデータの表示操作を実行する場合、変数を使用するコマンドは失敗となります。これらの変数はシナリオで宣言してください。

  • Oracle Data Integratorの順序は、接続時および切断時のコマンドではサポートされていません。

接続時および切断時のコマンドには、次の使用方法があります。

  • セッションが実行されると、データ・サーバーへの接続が開きます。コマンド「接続時」が定義されているデータ・サーバーで接続が開くたびに、「接続時のコマンド」と呼ばれる特定のステップの下にタスクが作成されます。このタスクには、接続の確立先となるデータ・サーバー、およびこのデータ・サーバーへの接続を作成するステップとタスクに基づいて名前が設定されます。このタスクには、接続時のコマンドのコードが格納されます。

  • セッションが完了すると、データ・サーバーへの接続はすべてクローズされます。切断時のコマンドが定義されているデータ・サーバーで接続がクローズされるたびに、「切断時のコマンド」という特定のステップにタスクが作成されます。このタスクには、切断されるデータ・サーバー、およびこのデータ・サーバーへの接続を切り離したステップとタスクに基づいて名前が設定されます。これには、切断時のコマンドのコードが格納されます。

  • ODI StudioまたはODIコンソールで行われる操作が、データベース・サーバーへの接続を必要とする場合(データの表示、テスト接続など)、このコマンドに「クライアント・トランザクション」を選択すると、接続時/切断時のコマンドも実行されます。


注意:

オペレータ・ナビゲータに接続時および切断時ステップを表示するかどうかを指定できます。ユーザー・パラメータ「接続時および切断時ステップを非表示」をYesに設定すると、接続時および切断時ステップは表示されません


接続時または切断時のコマンドを設定するには:

  1. データ・サーバー・エディタの「接続/切断時」タブで、「接続時」セクションまたは「切断時」セクションの「式エディタを起動します」をクリックします。

  2. 式エディタで、SQLコマンドを入力します。


    注意:

    式エディタには、データ・サーバーのテクノロジで使用可能な置換メソッドとキーワードのみが表示されます。グローバル変数が表示されるのは、作業リポジトリへの接続が使用できる場合のみであることに注意してください。


  3. 「OK」をクリックします。「コマンド」フィールドにSQLコマンドが表示されます。

  4. オプションで、コマンドの実行後に接続をコミットする場合は「コミット」を選択します。「実行」リストで「自動コミット」または「クライアント・トランザクション」が選択されている場合、この値は無視されます。

  5. オプションで、コマンド実行時に発生した例外を無視する場合は、「エラーの無視」を選択します。「エラーの無視」が選択されていない場合、コール操作はエラー・ステータスで終了します。セッションの途中で失敗となった、「エラーの無視」が選択されているコマンドは、警告状態のタスクとして表示されます。

  6. 「ログ・レベル」リストから、接続または切断コマンドのログ・レベル(1から6)を選択します。実行時には、コマンドのログ・レベルに基づいてコマンドをセッション・ログに保存できます。デフォルトは3です。

  7. 「実行」リストから、コマンドを実行するトランザクションを選択します。


    注意:

    0から9のトランザクションおよび「自動コミット」トランザクションは、(プロシージャまたはナレッジ・モジュールによる)セッションで作成された接続に相当します。「クライアント・トランザクション」は、クライアント・コンポーネント(ODI ConsoleおよびStudio)に相当します。


    すべてのトランザクションを選択または選択解除する場合は、「すべて選択」または「すべて選択解除」を選択できます。

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

接続をテストする準備が整いました。詳細は、「データ・サーバー接続のテスト」を参照してください。

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

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

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

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

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

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

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

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

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

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

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

物理スキーマの作成

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

論理スキーマの作成

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

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

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

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

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

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

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

物理エージェントの作成

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

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

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

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

    • 名前: Javaグラフィカル・インタフェースで使用されるエージェントの名前。注意: エージェント名として「内部」は使用しないでください。Oracle Data Integratorでは、内部エージェントを使用してセッションを実行するときに「内部」エージェントを使用するため、「内部」というエージェント名は予約されています。

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

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

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

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

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

    • スレッドの最大数: ODIエージェントが指定の時間に使用できる最大スレッド数をコントロールします。お使いのシステム・リソースおよびCPUの容量にあわせて調整してください。

    • セッション当たりの最大スレッド数: ODIでは複数のスレッドを持つセッションの実行をサポートしています。この値は、単一セッション実行時の最大並列度を制限します。

    • セッション・ブループリント・キャッシュ管理:

      • 最大キャッシュ・エントリ: パフォーマンスの場合、セッション・ブループリントはキャッシュされます。このパラメータを調整して、ブループリント・キャッシュによるJVMメモリー消費を制御します。

        未使用ブループリント・ライフタイム(秒): キャッシュからブループリントをフラッシュするためのアイドル時間間隔。

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

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

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

論理エージェントの作成

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

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

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

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

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

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

エージェントの管理

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

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

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


注意:

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


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

スタンドアロン・エージェントの構成については、『Oracle Data Integratorのインストールと構成』に説明があります。次を参照してください。

  • Oracle Data Integratorのインストール

  • Oracle Data Integratorマスターおよび作業リポジトリ・スキーマの作成

  • スタンドアロン・エージェントのためのスタンドアロン・インストール・トポロジの構成

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

スタンドアロン・エージェントは、事前定義済のスケジュールどおりに、または要求に応じて、シナリオを実行できます。スタンドアロン・エージェントを開始する手順は、『Oracle Data Integratorインストレーション・ガイド』のノード・マネージャおよびスタンドアロン・エージェントの開始に関する項に記載されています。

エージェントの停止

スタンドアロン・エージェントを停止する手順は、『Oracle Data Integratorインストレーション・ガイド』のスタンドアロン・エージェントの停止に関する項に記載されています。

Java EEエージェント

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

Java EEアプリケーション・サーバーでのエージェントのデプロイ

Java EEエージェントの構成については、『Oracle Data Integratorのインストールと構成』に説明があります。次を参照してください。

  • Oracle Data Integratorのインストール

  • Oracle Data Integratorマスターおよび作業リポジトリ・スキーマの作成

  • Java EEエージェントのためのスタンドアロン・インストール・トポロジの構成

Java EEエージェントに対するサーバー・テンプレートの作成

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

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

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

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

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

    • 一般

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

      リストから、エージェントをデプロイするサーバーを選択します。選択できる値は、「Oracle WebLogic」「IBM WebSphere」です。

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

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

    • 接続の再試行設定

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

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

    • スーパーバイザ認証

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

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

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

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

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

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

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

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

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

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

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

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

生成されたテンプレートは、それぞれの構成ウィザードを使用したWLSまたはWASでのエージェントのデプロイに使用できます。詳細は、『Oracle Data Integratorのインストールと構成』を参照してください。

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

テンプレートのデプロイ後、スーパーバイザをWLSまたはWAS資格証明ストアに宣言する必要があります。詳細は、『Oracle Data Integratorのインストールと構成』を参照してください。

エージェントのアプリケーション・サーバーにおけるOracle Data Integratorからのデータソースのデプロイ

トポロジ・ナビゲータから、Java EEエージェントを構成するアプリケーション・サーバー(Oracle WebLogic ServerまたはIBM WebSphere)にデータソースを作成できます。

アプリケーション・サーバーでデータソースをデプロイするには:

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

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

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

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

  5. いずれかのデータソースを右クリックし、「サーバーにおけるデータソースのデプロイ」を選択します。

  6. 「データソース・デプロイ」ダイアログで、データソースをデプロイするサーバーを選択します。使用可能な値は、WLSまたはWASサーバーです。

  7. 「デプロイメント・サーバー詳細」セクションで、次の各フィールドに入力します。

    • ホスト: アプリケーション・サーバーのホスト名またはIPアドレス。

    • ポート: デプロイメント・マネージャのブートストラップ・ポート。

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

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

  8. 「データソース・デプロイ」セクションで、データソースをデプロイするサーバーの名前(たとえばodi_server1)を指定します。

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


注意:

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


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

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

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

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

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

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

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

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

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

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

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

セッションの委任

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

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

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

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

エージェント使用不可

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

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

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

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

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

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

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