ヘッダーをスキップ
Oracle® Application Server CDC Adapters for DB2ユーザーズ・ガイド
11g リリース1(11.1.1)
B61402-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

3 WebLogicのデプロイメントとアダプタの統合

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

アプリケーション・サーバーでのDB2 CDC Adapterの構成

WebLogicアプリケーション・サーバーを使用して、Oracle Connect CDCアダプタをデプロイできます。この項では、CDCアダプタをデプロイする方法、必要な接続を設定する方法およびCDCストリーム位置表を構築する方法について説明します。

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

CDCストリーム位置表の定義

CDCアダプタごとに1つのCDCストリーム位置表を作成する必要があります。CDCストリーム位置表には、CDCプロセス(取得対象の表)ごとに、そのストリーム位置とXAトランザクションを制御するための行が1行含まれています。Oracleデータベースの表の定義には、次のSQL文が使用されます。

create table CDC_STREAM_POSITIONS(TABLE_NAME varchar(127) not null, STREAM_POSITION varchar(127), PREPARED_STREAM_POSITION varchar(127), ROLLBACK_STREAM_POSITION varchar(127), NEW_STREAM_POSITION varchar(127), XID_FORMAT int, XID_BRANCH varchar(128), XID_GLOBAL varchar(128));create unique index CDC_STREAM_POSITIONS_INDEX on CDC_STREAM_POSITIONS (TABLE_NAME);

任意の表名を使用できますが、列名は変更できません。

次の表に、CDCストリーム位置表の列を示します。

表3-1 CDCストリーム位置表

説明

TABLE_NAME

CDC表の名前。

この列のデータは変更しないでください。

STREAM_POSITION

現在の表のCDCプロセスで最後にコミットされたストリーム位置。

この列のデータは変更しないでください。

PREPARED_STREAM_POSITION

現在の表のCDCプロセスで最後に準備されたストリーム位置。

この列のデータは変更しないでください。

ROLLBACK_STREAM_POSITION

ロールバック・ループの場合、この列には、ロールバック時に発生したイベントのストリーム位置が含まれています。

NEW_STREAM_POSITION

この列に有効なストリーム位置の値を入力して、現在のストリーム位置を手動で変更できます。この列を更新する前に、対応するCDCプロセスを非アクティブ化してください。

注意: XID_FORMAT列がNULL値であることを確認してください。XID_FORMAT列がNULLでない場合は、この列に値を入力しないでください。

XID_FORMAT

XID_BRANCH

XID_GLOBAL

最後に準備されたXIDフィールド。XID_FORMAT列がNULLである場合、ストリーム位置はコミットされています。この場合、XID_BRANCH列とXID_GLOBAL列には最後にコミットされたXIDフィールドが含まれています。


CDCストリーム位置表へのアクセスを提供するWebLogicデータソースを構成する必要があります。

DB2 CDC Adapterコネクション・ファクトリの構成

Oracle ConnectのRARをWebLogicサーバーにデプロイします。

各CDCアダプタに対応するコネクション・ファクトリを作成する場合があります。

次の表は、DB2 CDC Adapterに関連するコネクション・ファクトリのプロパティを説明しています。その他のプロパティの値は変更しないでください。

表3-2 CDCインバウンド・プロセスの接続プロパティ

プロパティ 説明

eisName

必須。使用するアダプタの名前を設定します。アダプタは、Oracle Studioを使用してOracle Connectサーバーに定義します。

serverName

必須。Oracle Connectデーモンが実行されているサーバーの名前をTCP/IPアドレスまたはホスト名で入力します。デーモンの詳細は、「デーモンの高度なチューニング」を参照してください。

workspace

必須。使用するOracle Connectサーバー・ワークスペースの名前を指定します。ワークスペースの詳細は、「ワークスペース」を参照してください。

portNumber

オプション。サーバー上でOracle Connectデーモンが実行されているTCP/IPポートを指定します。デフォルト・ポートは2551です。

userName

オプション。Oracle Connectサーバーにアクセス可能なユーザーを指定します。ユーザーは、Oracle Connectデーモン構成で定義されます。Oracle Connectサーバーへのアクセスを許可されるユーザーの詳細は、デーモンの「セキュリティ」およびワークスペースの「セキュリティ」を参照してください。

password

オプション。ユーザーの有効なパスワードを指定します。

firewallProtocol

オプション。使用するファイアウォール・プロトコルをnoneまたはfixedNat(デーモンで固定アドレスを使用するNATプロトコル)で指定します。デフォルトでは、noneに設定されています。

connectTimeout

オプション。接続タイムアウトを秒単位で指定します。デフォルトは0であり、接続タイムアウトがないことを示しています。

encryptionProtocol

オプション。使用する暗号化プロトコルの名前を設定します。デフォルトでは、RC4に設定されています。このプロパティの値が定義されていない場合は、RC4プロトコルが使用されます。

encryptionKeyName

オプション。使用する対称暗号化キーの名前を指定します。

encryptionKeyValue

オプション。使用する対称暗号化キーの値を指定します。

retryInterval

オプション。リソース・アダプタが、サーバーでイベントが検出されない場合に次のリクエストを発行するまで待機する時間を指定します。デフォルト値は15秒です。

jdbcDataSource

必須。cdcStreamPositionsTableへのアクセスを提供するJDBCデータソースのJNDIロケーション。

cdcStreamPositionsTable

CDCインバウンド・プロセスを制御するために使用されるSQL表。詳細は、「CDCストリーム位置表の定義」を参照してください。


OracleAS CDC Adapter for DB2のJCA構成ファイルの構成

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

JCA構成ファイルの作成

Oracle Studioを使用して、CDCアダプタのバインディング・ファイルとWSDLファイルを作成するには、次の手順を実行します。

  1. 「スタート」メニューから、「プログラム」「Oracle」「Studio」を選択します。

  2. 「Design」パースペクティブの「Configuration」ビューで、「Machine」フォルダを開きます。

  3. CDCステージング領域が含まれているマシンを開きます。

  4. 「Bindings」を開きます。このコンピュータ上で使用可能なバインディング構成が表示されます。

  5. 作成したCDCステージング領域のバインディングを開きます。バインディングの名前は、Oracle Studioで作成したCDCソリューションのプロジェクト名に、_SAという接尾辞が付いたものです。

  6. 「Adapters」フォルダを開き、アダプタを右クリックして「Generate JCA Configuation Files」を選択します。

    「JCA Configuration Files」ダイアログ・ボックスが表示されます。

  7. 「Save to」フィールドに、作成されるファイルの保存場所のパスを入力するか、「Browse」を選択して場所を参照します。

  8. 必要に応じて、「JNDI Location」のWebLogicコネクション・ファクトリのJNDIロケーションのデフォルト値を変更します。

  9. 「OK」をクリックすると、指定した場所にファイルが作成されます。

    「View Genereated Content」ダイアログ・ボックスが表示されます。ここでは、作成されたバインディング・ファイル(*.jca)とWSDLファイルへのリンクが提供されます。これらのファイルを表示または編集する場合は、ダイアログ・ボックスの該当するリンクをクリックします。

    これらのファイルは、BPEL Process Managerまたはメディエータを使用するときに使用します。

バインディング・ファイルの構成

Oracle Studioで生成されたWSDLファイルは編集しないでください。バインディング・ファイルは、AttuCDCActivationSpecプロパティを構成するために編集する場合があります。このプロパティのほとんどは、コネクション・ファクトリを使用して指定することもできます。コネクション・ファクトリの構成方法の詳細は、「DB2 CDC Adapterコネクション・ファクトリの構成」を参照してください。また、バインディング・ファイルのretryIntervalプロパティの構成が必要になる場合もあります。

バインディング・ファイルでは、アダプタのコネクション・ファクトリの名前が<service>セクションの<jca:address>要素のadapterInstanceJndi属性として指定されます。コネクション・ファクトリがアプリケーション・サーバーに存在する場合は、そのプロパティが使用されます。それ以外の場合は、AttuCDCActivationSpecによって指定されたプロパティが使用されます。値がコネクション・ファクトリとAttuCDCActivationSpecの両方で指定されている場合は、AttuCDCActivationSpecプロパティの値がコネクション・ファクトリの値よりも優先されます。コネクション・ファクトリに指定された値を使用する場合は、バインディング・ファイルからプロパティを削除する必要があります。

次にCDCバインディング・ファイルの例を示します。

<?xml version="1.0" encoding="UTF-8"?><adapter-config adapter="Legacy Adapter" name="calc" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">    <connection-factory UIConnectionName="pcbpel" csfKey="pcbpel" location="eis/legacy/calc"/>        <endpoint-interaction operation="add" portType="calcPortType">        <interaction-spec className="com.attunity.adapter.oracle.AttuInteractionSpec">            <property name="FunctionName" value="add"/>                        <property name="ExecutionTimeout" value="120"/>            </interaction-spec>    </endpoint-interaction>    <endpoint-interaction operation="display" portType="calcPortType">        <interaction-spec className="com.attunity.adapter.oracle.AttuInteractionSpec">            <property name="FunctionName" value="display"/>                        <property name="ExecutionTimeout" value="120"/>            </interaction-spec>    </endpoint-interaction>    <endpoint-interaction operation="div" portType="calcPortType">        <interaction-spec className="com.attunity.adapter.oracle.AttuInteractionSpec">            <property name="FunctionName" value="div"/>                        <property name="ExecutionTimeout" value="120"/>            </interaction-spec>    </endpoint-interaction>    <endpoint-interaction operation="mul" portType="calcPortType">        <interaction-spec className="com.attunity.adapter.oracle.AttuInteractionSpec">            <property name="FunctionName" value="mul"/>                        <property name="ExecutionTimeout" value="120"/>            </interaction-spec>    </endpoint-interaction>    <endpoint-interaction operation="sub" portType="calcPortType">        <interaction-spec className="com.attunity.adapter.oracle.AttuInteractionSpec">            <property name="FunctionName" value="sub"/>                        <property name="ExecutionTimeout" value="120"/>            </interaction-spec>    </endpoint-interaction></adapter-config>

バインディング・ファイルの次のプロパティを構成する必要があります。

retryInterval: リソース・アダプタが、サーバーでイベントが検出されない場合に次のリクエストを発行するまで待機する時間を指定します。デフォルトでは、15秒に設定されています。これはオプションです。

高可用性

OracleASのOracleレガシー・アダプタは、OracleASクラスタのアクティブ-アクティブ・トポロジおよびアクティブ-パッシブ・トポロジを使用した高可用性をサポートします。アクティブ-アクティブ・トポロジでは、Oracle Application Serverによって、OracleASクラスタを使用したすべてのコンポーネントにアクティブ-アクティブ冗長モデルが提供されます。OracleASクラスタでは、2つ以上のOracle Application Serverインスタンスが、同じアプリケーション負荷を処理するように構成されます。これらのインスタンスは、1台のコンピュータに作成することも、別々のコンピュータに作成することもできます。アクティブ・インスタンスをフロントエンド処理するには、外部のロード・バランサによってリクエストを任意のアクティブ・インスタンスにリダイレクトするか、または他のアプリケーションレベルの構成(アドレス・リストなど)によってリクエストを分散させます。アクティブ-パッシブ・トポロジでは、Oracle Application Serverによって、OracleASコールド・フェイルオーバー・クラスタを使用したアクティブ-パッシブ・モデルがサポートされます。この場合、2つ以上のApplication Serverインスタンスが、1つのアプリケーション負荷を処理するように構成されますが、アクティブになるのは常に1つのインスタンスのみです。

CDCアダプタにおける高可用性のサポートでは、すべてのインスタンスが、バインディング・ファイル内のjdbcDatasourceパラメータで指定されているOracleデータベースにアクセス可能である必要があります。

ロールバック・ループのトラブルシューティング

CDCリソース・アダプタ作業スレッドで問題が発生した場合、そのスレッドは定義された時間(retryInterval)だけ待機してから、最後の操作を再試行します。アダプタを停止する場合は、エンドポイントを非アクティブ化する必要があります。リソース・アダプタの動作は、ロールバック・ループのタイプに応じて異なります。いずれの場合でも、リソース・アダプタによって対応するエラー・メッセージがリソース・アダプタのログ・ファイルに書き込まれて、メッセージがメッセージ・リスナーonAlertメソッドに送信されます。