リレーショナル・データベースへのトランザクション・ログの保管

Liberty プロファイルのトランザクション・ログをオペレーティング・システム・ファイルとして保管する代わりに、リレーショナル・データベースに保管することを選択できます。 WebSphere® Application Server 完全プロファイルでは、このフィーチャーによって、共有ファイル・システムを使用しなくとも高可用性 (HA) サポートが提供されます。Liberty プロファイルでも、互換性のためと、評価およびテスト目的のためにこのフィーチャーが提供されます。

このタスクについて

WebSphere Application Server トランザクション・サービスは、複数のリソースが関係するか、または複数のサーバーに分散されるすべてのグローバル・トランザクションに関する情報をトランザクション・ログに書き込みます。これらのトランザクションは、アプリケーションまたはアプリケーションがデプロイされているコンテナーによって開始または停止されます。トランザクション・サービスは、トランザクションの整合性を確保するためにトランザクション・ログを維持します。アクティブなトランザクションが存在する WebSphere Application Server が障害の後に再始動される場合に、トランザクション・サービスがログを使用して未確定トランザクションをすべて再生できるように、分散トランザクションの準備フェーズで情報がトランザクション・ログに書き込まれます。これにより、システム全体を整合性のある状態に戻すことができます。

WebSphere Application Server の以前のリリースでは、トランザクション・ログは、オペレーティング・システム・ファイルとして保管されていました。WebSphere Application Server バージョン 8.5.5 以上でも、デフォルト構成はそのままですが、リレーショナル・データベース管理システム (RDBMS) 内にトランザクション・ログを保管するよう選択することもできます。この構成オプションは、HA 環境で処理を行うお客様を対象としています。WebSphere Application Server の以前のリリースでは、HA トランザクションをサポートするために、NFSv4 でマウントされる Network Attached Storage (NAS) または ストレージ・エリア・ネットワーク (SAN) など、トランザクション・ログをホストする共有ファイル・システムを使用する必要がありました。この新規フィーチャーにより、特に HA データベース・テクノロジーに投資されているお客様が、共有ファイル・システムを使用する代わりに、HA データベースをトランザクション・ログ用の共有リポジトリーとして使用できるようになります。

デフォルトで、Liberty プロファイルのトランザクション・ログはオペレーティング・システム・ファイルに保管されます。しかし、WebSphere Application Server 完全プロファイルとの互換性のため、また評価およびテスト目的のために、RDBMS 内にトランザクション・ログを保管するように構成できます。Liberty プロファイルでサポートされる任意のデータベース・タイプを使用できます。

手順

RDBMS 内に Liberty プロファイルのトランザクション・ログを保管するように構成するには、以下のステップを実行します。

  1. Liberty プロファイルの server.xml ファイル内に、専用の非トランザクション・データ・ソースを構成します。
    server.xml ファイルから抜き出した以下の例は、トランザクション・ログを DB2® データベースに保管する Liberty プロファイルを構成する方法を示しています。
    <transaction> 
      <dataSource jndiName="jdbc/tranlogDataSource" transactional="false">
        <jdbcDriver libraryRef="DB2JCC4LIB"/>
        <properties.db2.jcc currentSchema="CBIVP"
          databaseName="SAMPLE" driverType="4"
          portNumber="50000" serverName="localhost" 
          user="db2admin" password="{xor}Oz1tPjsyNjE=" />
      </dataSource> 
    </transaction> 
    
    <library id="DB2JCC4LIB">
      <fileset dir="C:/SQLLIB/java" includes="db2jcc4.jar db2jcc_license_cu.jar"/>
    </library>
  2. (オプション) データベース表を作成します。

    Liberty プロファイルは、サーバーが最初に始動されたときに、必要なデータベース表を作成しようとします。これができない場合 (例えば、権限が不十分なことが原因)、サーバーは始動できません。このような状況では、2 つの必要なデータベース表を手動で作成する必要があります。

    以下の DDL 構造は、DB2 で表を作成する方法を示しています。
    CREATE TABLE WAS_TRAN_LOG(
      SERVER_NAME VARCHAR(128),
      SERVICE_ID SMALLINT,
      RU_ID BIGINT,
      RUSECTION_ID BIGINT,
      RUSECTION_DATA_INDEX SMALLINT,
      DATA LONG VARCHAR FOR BIT DATA) 
    CREATE TABLE WAS_PARTNER_LOG(
      SERVER_NAME VARCHAR(128),
      SERVICE_ID SMALLINT,
      RU_ID BIGINT,
      RUSECTION_ID BIGINT,
      RUSECTION_DATA_INDEX SMALLINT,
      DATA LONG VARCHAR FOR BIT DATA) 
    以下の DDL 構造は、Oracle でデータベース表を作成する方法を示しています。
    CREATE TABLE WAS_TRAN_LOG(
      SERVER_NAME VARCHAR(128),
      SERVICE_ID SMALLINT,
      RU_ID NUMBER(19),
      RUSECTION_ID NUMBER(19),
      RUSECTION_DATA_INDEX SMALLINT,
      DATA BLOB)
    CREATE TABLE WAS_PARTNER_LOG(
      SERVER_NAME VARCHAR(128),
      SERVICE_ID SMALLINT,
      RU_ID NUMBER(19),
      RUSECTION_ID NUMBER(19),
      RUSECTION_DATA_INDEX SMALLINT,
      DATA BLOB)

トピックのタイプを示すアイコン タスク・トピック

インフォメーション・センターに関するご使用条件 | フィードバック


タイム・スタンプ・アイコン 最終更新: 2015 年 6 月 17日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_store_logs_in_rdb
ファイル名: twlp_store_logs_in_rdb.html