![[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 V8.5.5 和更高版本中,此设置保持缺省配置。您还可以选择将事务日志存储在关系数据库中。此配置选项主要用于高可用性 (HA) 环境。此外,在 WebSphere Application Server 的先前发行版中,HA 事务支持需要使用共享文件系统(例如 NFSv4 挂载网络连接存储 (NAS) 或存储区域网络 (SAN))来托管事务日志。这项新功能使您(特别是在您投资了 HA 数据库技术时)能够将 HA 数据库用作事务日志的共享存储库,以替代共享文件系统。
在当前实现中,如果核心恢复日志功能遇到意外的 JDBC 异常,那么将禁用事务日志记录,并且必须关闭服务器,以便可以恢复正在进行的事务。在服务器重新启动之前,不会尝试进行重新连接,并且当前实现不会尝试确定此情况是否为临时情况。
在 WebSphere Application Server V8.5.5 和更高版本中,您可以使用类似的工具(也是针对在 HA 环境中工作的客户)将补偿恢复日志存储在关系数据库中。WebSphere Application Server 补偿服务使不同系统上的应用程序能够协调耦合程度低于原子事务的活动。它将系统发生故障后完成补偿所必需的信息存储在它自己的专用恢复日志中。

(2 * 要进行对等恢复的潜在服务器数目) + 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