使用 WebSphere 中间件构建高可用性数据库环境,第 3 部分
2009-11-03 00:00:00 来源:WEB开发网引言
对于访问 Oracle 数据库而言,Oracle Real Application Cluster (RAC) 可用于高可用性和工作负载管理。可以将 Oracle JDBC 驱动程序配置为在 IBM WebSphere Application Server 环境中提供这两种服务质量。遗憾的是,使用 10g 版本的 Oracle JDBC 驱动程序在多个 Oracle RAC 节点中进行工作负载管理会造成微妙的两阶段提交 (2PC) 分布式事务恢复问题。
在简单介绍 Oracle RAC 之后,本文将说明此事务恢复问题背后的原因,并详细介绍用于 WebSphere Application Server 环境的简单 Oracle RAC 配置,该配置可以避免事务恢复问题。
关于 Oracle RAC
Oracle RAC 是一个可“共享一切”的体系结构,用于获得数据库高可用性和负载平衡,在此体系结构中,有两个或多个 Oracle RAC 节点集群在一起,共享同一存储区(图 1)。
RAC 节点通过高速互连连接在一起,此互连方式支持 Oracle 节点之间的快速通信,可以在启动、锁定信息、事务信息、数据等过程中交换各种类别的数据块所有权信息。
图 1. Oracle RAC 配置
图片看不清楚?请点击这里查看原图(大图)。
在 Oracle RAC 环境中,每个 Oracle 数据块都被赋予一个(且只有一个)“主”Oracle RAC 节点。该 Oracle RAC 节点的全局缓存服务 (GCS) 负责管理对这些数据块集的访问。当其中一个 Oracle 节点需要访问某个 Oracle 数据块时,它必须首先与该数据块协商。然后,该主节点的 GCS 或者指示请求的 Oracle 节点从磁盘中获取该数据块,或者指示该Oracle 数据块的当前持有者将被请求的数据块发送到请求节点。Oracle 尝试跨所有 RAC 节点统一分发该数据块的所有权。在 Oracle RAC 环境中,数据块大致相等的所有节点都将被指定为主节点。(如果 Oracle RAC 节点数是 Oracle 数据块数的约数,则所有 RAC 节点都是具有同样数量的数据块的主节点。)
更多精彩
赞助商链接