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

前
 
次
 

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

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

アプリケーション・サーバーでのSQL Server 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データ・ソースを構成する必要があります。

SQL Server CDCアダプタ接続ファクトリの構成

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

それぞれのCDCアダプタに適切な接続ファクトリを作成できます。

この表には、SQL Server 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 SQL Serverの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プロパティを構成することができます。これらのプロパティの大部分は、接続ファクトリを使用して指定することもできます。接続ファクトリの構成方法の詳細は、「SQL Server 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クラスタでは、複数のOracle Application Serverインスタンスが構成され、同じアプリケーション・ワークロードを処理します。これらのインスタンスは、同じコンピュータにあっても別個のコンピュータにあっても構いません。アクティブなインスタンスは、外部ロード・バランサによってフロントエンド処理される場合があります。これにより、要求がアクティブなインスタンスのいずれかにリダイレクトされるか、アドレス・リストなど別のアプリケーション・レベル構成により、要求が分散されます。アクティブ-パッシブ・トポロジでは、Oracle Application ServerでOracleASコールド・フェイルオーバー・クラスタを使用してアクティブ-パッシブ・モデルがサポートされます。この場合、複数のアプリケーション・サーバー・インスタンスが構成され、同じアプリケーション・ワークロードを処理しますが、アクティブなのは常に1つのみです。

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

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

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