WEB开发网
开发学院数据库DB2 使 XA 事务管理器灵活地应对资源管理器故障,确保... 阅读

使 XA 事务管理器灵活地应对资源管理器故障,确保更高的可用性

 2009-10-28 00:00:00 来源:WEB开发网   
核心提示: 资源管理器故障的常见原因一些常见的原因会引起资源管理器故障或变得不可用,其中包括:资源管理器端运行时不一致将导致事务故障,使 XA 事务管理器灵活地应对资源管理器故障,确保更高的可用性(2),资源管理器存储故障将导致资源管理器崩溃,暂时或长期的网络故障将导致资源管理器不可用,当资源管理器再次恢复

资源管理器故障的常见原因

一些常见的原因会引起资源管理器故障或变得不可用,其中包括:

资源管理器端运行时不一致将导致事务故障。

资源管理器存储故障将导致资源管理器崩溃。

暂时或长期的网络故障将导致资源管理器不可用。

一个资源管理器会返回两个主要的 “灾难性的” XA 错误:

XAER_RMERR:这个错误表示在事务分支中,某个资源管理器出错了。导致这种错误可能有几种情况。例如,资源管理器认为它绝不会提交分支,无法支持处于准备状态的分支资源,或者从控制线程中分离事务分支时出现错误。

XAER_RMFAIL:这个错误表示出现了普通错误,导致资源管理器不可用。

涉及到的资源管理器在执行过程中的不同时间点都可能会出现故障。进行一个 XA 相关的请求时,事务管理器通常会检测故障。下面是一些示例案例以及相应的事务管理器的期望行为:

使用 A_OPEN 建立连接的同时,执行事务的进程检测到一个错误。

期望的行为:如果 XA_OPEN 出错,事务管理器要发出警告,并且继续正常运行。事务管理器不能处理指向不可用资源管理器的事务。而且不能有任何 XA 相关的流指向不可用的资源管理器。

启动事务前,事务管理器检测到一个错误。

期望的行为:如果流中的任何请求(如 XA_START、XA_END、XA_PREPARE等等)出现错误,那么事务也将出错。任何 XA 流都不应指向不可用的资源管理器。

在准备和提交进程期间,资源管理器出现故障,事务管理器检测到错误。

期望的行为:如果故障出现在提交进程完成之前,那么事务的行为将无法确定。当资源管理器再次恢复可用时,事务管理器需要能够完成事务。将由事务管理器的实现器决定执行线程是否继续重新提交请求或保持阻止状态。

上一页  1 2 3 4 5 6 7  下一页

Tags:XA 事务管理 灵活

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接