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

前
 
次
 

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

この章の構成は、次のとおりです。

アプリケーション・サーバーでのVSAM CDCアダプタの構成

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データソースを構成する必要があります。

VSAM CDCアダプタ・コネクション・ファクトリの構成

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

CDCアダプタごとに適切なコネクション・ファクトリを作成できます。

この表は、VSAM CDCアダプタに関連するコネクション・ファクトリのプロパティを説明しています。それ以外のプロパティの値は変更しないでください。

表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 VSAMの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プロパティを構成できます。これらのプロパティのほとんどは、コネクション・ファクトリを使用しても提供できます。コネクション・ファクトリの構成方法の詳細は、「VSAM CDCアダプタ・コネクション・ファクトリの構成」を参照してください。バインディング・ファイルにある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インスタンスが、同じアプリケーション負荷を処理するように構成されます。これらのインスタンスは、同じコンピュータに配置することも、別々のコンピュータに配置することもできます。アクティブ・インスタンスをフロントエンド処理するには、外部のロード・バランサによってリクエストを任意のアクティブ・インスタンスにリダイレクトするか、または他のアプリケーションレベルの構成(アドレス・リストなど)によってリクエストを分散させます。アクティブ-パッシブ・トポロジでは、Oracle Application Serverによって、OracleASコールド・フェイルオーバー・クラスタを使用したアクティブ-パッシブ・モデルがサポートされます。この場合、2つ以上のアプリケーション・サーバー・インスタンスが同じアプリケーション負荷を処理するように構成されますが、アクティブになるのは常に1つのインスタンスのみです。

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

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

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