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

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

このタスクについて

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) または Storage Area Network (SAN)) を使用することが必要でした。この新規フィーチャーにより、特に HA データベース・テクノロジーに投資されているお客様が、共有ファイル・システムを使用する代わりに、HA データベースをトランザクション・ログ用の共有リポジトリーとして使用できるようになります。

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

手順

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

  1. Liberty の server.xml ファイル内に、専用の非トランザクション・データ・ソースを構成します。
    server.xml ファイルから抜き出した以下の例は、トランザクション・ログを DB2® データベースに保管する Liberty を構成する方法を示しています。
    <transaction> 
      <dataSource 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)

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



タイム・スタンプ・アイコン 最終更新: Monday, 5 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_store_logs_in_rdb
ファイル名: twlp_store_logs_in_rdb.html