將交易日誌儲存在關聯式資料庫中

您可以選擇將 Liberty 交易日誌儲存在關聯式資料庫中,而不是儲存成作業系統檔案。在 WebSphere® Application Server 傳統版中,這個特性提供無需使用共用檔案系統的高可用性 (HA) 支援。

關於這項作業

WebSphere Application Server 交易服務會將每個包含兩項資源以上的廣域交易,或將分散在多部伺服器的廣域交易的資訊寫入交易日誌中。 這些交易由應用程式或應用程式部署在其中的儲存器來啟動或停止。 交易服務會維護交易日誌,以確保交易的完整性。 資訊是在分散式交易的準備階段寫入交易日誌中,因此,如果含有作用中交易的 WebSphere Application Server 在失敗之後重新啟動,交易服務可以利用這些日誌來重播任何不確定的交易。 如此一來,整體系統就能夠返回一致的狀態。

在舊版的 WebSphere Application Server 中,交易日誌會儲存為作業系統檔案。 在 WebSphere Application Server 8.5.5 版及更新版本中,這仍然是預設配置,但您可以選擇將交易日誌儲存在關聯式資料庫管理系統 (RDBMS) 中。 這個配置選項是著眼於在 HA 環境中工作的客戶。 在舊版的 WebSphere Application Server 中,HA 交易支援要求利用共用檔案系統來代管交易日誌,例如 NFSv4 裝載的網路連接儲存體 (NAS) 或儲存區域網路 (SAN)。 這個新增特性可讓客戶(尤其是投資 HA 資料庫技術的客戶)利用他們的 HA 資料庫來作為交易日誌的共用儲存庫,以及作為使用共用檔案系統的替代方案。

依預設,Liberty 交易日誌會儲存在作業系統檔案中。不過,為了相容於 WebSphere Application Server 傳統版,也為了進行評估和測試,您可以將交易日誌配置成儲存在 RDBMS 中。 您可以使用 Liberty 支援的任何資料庫類型。

程序

如果要將 Liberty 交易日誌配置成儲存在 RDBMS 中,請完成下列步驟:

  1. 在 Liberty server.xml 檔中,配置一個專用的非交易式資料來源。
    下列 server.xml 檔範例摘錄顯示如何將 Liberty 配置成將交易日誌儲存在 DB2® 資料庫中:
    <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 會嘗試建立必要的資料庫表格。 當無法建立這些資料庫(例如,因許可權不足)時,伺服器會無法啟動。 在這些情況之下,您必須手動建立兩份資料庫表格。

    下列 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)

指示主題類型的圖示 作業主題



「時間戳記」圖示 前次更新: 2016 年 11 月 30 日
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