使 XA 事务管理器灵活地应对资源管理器故障,确保更高的可用性
2009-10-28 00:00:00 来源:WEB开发网核心提示: IBM® DB2® 将被作为资源管理器的一个示例在此使用,在测试过程的不同阶段,使 XA 事务管理器灵活地应对资源管理器故障,确保更高的可用性(4),状态将发生变化(可用或不可用),事务管理器的行为应该不会受到资源管理器状态变化的影响,启用 DB2,使其可用,在实验室测试过程中,
IBM® DB2® 将被作为资源管理器的一个示例在此使用,在测试过程的不同阶段,状态将发生变化(可用或不可用)。事务管理器的行为应该不会受到资源管理器状态变化的影响。
在实验室测试过程中,应该使用 dbx 之类的调试器(在 AIX® 上)在某个点强行停止或启用 PoE。进行这些测试时,您可以使用自己选择的工具或方法。
案例 1:执行事务时,资源管理器出故障
情景:在执行使用资源管理器的事务时,资源管理器不可用。请参见图 1。
测试:
事务管理器在运行并且可用。
事务管理中的一个进程执行一个 DB2 相关的事务。
在执行事务期间,关闭 DB2。
事务发出一个提交或回滚(xa_commit 从进程中流出)。
由于 DB2 不可用,事务(以及进程)遇到一个 xa_error(XAER_RMERR)。
执行事务的进程用其所期望的方式处理错误(例如,重启执行事务的进程)。
检测行为:
确保事务管理器总体上保持可用,即使进程检测到了故障,也只有执行事务的那个进程受到影响。
一旦发生了如 XAER_RMERR 之类的故障,如果事务管理器的行为是要重启进程,那么检测重启的执行进程(图 1 中的 PoE(1))是否在重试,直到出错的事务恢复为止。出错的资源管理器恢复可用时,事务也将恢复。只有在出故障的事务需要恢复时才需要执行这个检测。
在特定的 DB2 实例恢复可用之前,包含了出错的 DB2 实例的其他事务可能会出现故障。
即使出错的 DB2 实例持续不可用,没有包含 DB2 的事务应该能够继续正常运行。
启用 DB2,使其可用。
所有重新提交的事务应该能够再次正常运行。
- ››XAML实例教程系列 – 开篇
- ››灵活更改Windows 7“自动播放”设置
- ››灵活更改Win7系统“自动播放”设置
- ››灵活运用ISA的链接转换功能:ISA2006系列之十三
- ››灵活配置DHCP服务器 解决更改IP地址问题
- ››Xara3D结合Photoshop打造炫彩立体文字特效
- ››灵活有效的数据仓库解决方案:第1部分:客户互动和...
- ››灵活有效的数据仓库解决方案,第3部分:设计并实现...
- ››灵活使用Word 2003文档窗口的滚动条
- ››Xara3D配合fireworks设计美丽3D特效字
- ››灵活设置Windows Server 2008应对系统管理谜局
- ››灵活有效的数据仓库解决方案: 第 1 部分:客户互动...
更多精彩
赞助商链接