![[IBM i]](../images/iseries.gif)
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
將交易和補償日誌儲存在關聯式資料庫,以提供高可用性
(選用)您可以選擇將 WebSphere® Application Server 交易和補償日誌儲存在關聯式資料庫中,而不是儲存成作業系統檔案。 這個特性在不使用共用檔案系統的情況下,提供高可用性 (HA) 支援。
關於這項作業
每個涉及兩項或更多資源的廣域交易,或分散於多部伺服器的廣域交易,WebSphere Application Server 交易服務會將其資訊寫入交易日誌中。 這些交易由應用程式或儲存器(應用程式部署在其中)來啟動或停止。 交易服務會維護交易日誌,以確保交易的完整性。 資訊是在分散式交易的準備階段寫入交易日誌中。如果含有作用中交易的 WebSphere Application Server 在失敗之後重新啟動,交易服務能夠利用日誌,來重播任何不確定的交易。這種完整性層次可讓整個系統回到一致狀態。
在舊版的 WebSphere Application Server 中,交易日誌會儲存為作業系統檔案。 在 WebSphere Application Server 8.5.5 版以及更新版本中,這項設定會保留預設配置。您也可以選擇將交易日誌儲存在關聯式資料庫中。這個配置選項主要用於高可用性 (HA) 環境。此外,在舊版的 WebSphere Application Server 中,HA 交易支援需要使用共用檔案系統來管理交易日誌,例如:裝載 NFSv4 的網路連接儲存體 (NAS) 或儲存區網路 (SAN)。這項新特性可讓您(尤其是如果您有投資於 HA 資料庫技術) 利用 HA 資料庫作為交易日誌的共用儲存庫,來替代共用檔案系統。
在現行實作中,如果核心回復日誌功能遇到非預期的 JDBC 異常狀況,並且停用了交易記載,則伺服器必須關閉,好讓進行中的交易回復。在伺服器重新啟動之前,不會嘗試重新連線,現行實作也不會嘗試判斷是否是暫時性狀況。
在 WebSphere Application Server 8.5.5 版及更新版本中,您可以利用類似的機能(也是著眼於在 HA 環境中作業的客戶),將補償回復日誌儲存在關聯式資料庫中。WebSphere Application Server 補償服務可讓不同系統中的應用程式,針對比基本交易更鬆散聯結的活動進行協調。它會將系統失敗之後完成補償所需要的資訊,儲存在它自己專用的回復日誌中。

(2 * the number of potential servers being peer recovered) + 2
這個儲存區大小上限可讓您進行足夠的資料庫連線,來關閉所有相關的交易日誌。如果沒有將儲存區大小上限設成此值,則會因可用的連線不足,而可能造成錯誤訊息 J2CA0045E。gotcha程序
- AppClusterMember1
- AppClusterMember2
- AppClusterMember3
- AppClusterMember4
- 將 App1 定義給 AppClusterMember1
- 將 App2 定義給 AppClusterMember2
- 將 App3 定義給 AppClusterMember3
- 將 App4 定義給 AppClusterMember4
請完成下列步驟:
範例
叢集名稱 | 伺服器名稱 | 交易日誌表格 | 補償日誌表格 |
---|---|---|---|
AppCluster | AppClusterMember1 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App1 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App1 |
AppClusterMember2 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App2 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App2 | |
AppClusterMember3 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App3 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App3 | |
AppClusterMember4 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App4 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App4 |
- AppClusterMember1
- AppClusterMember2
- AppClusterMember3
- AppClusterMember4
- WAS_TRAN_LOGApp1
- WAS_TRAN_LOGApp2
- WAS_TRAN_LOGApp3
- WAS_TRAN_LOGApp4
- WAS_PARTNER_LOGApp1
- WAS_PARTNER_LOGApp2
- WAS_PARTNER_LOGApp3
- WAS_PARTNER_LOGApp4
- WAS_COMP_LOGApp1
- WAS_COMP_LOGApp2
- WAS_COMP_LOGApp3
- WAS_COMP_LOGApp4