详解RAC并发逻辑、硬件架构、软件架构拓扑与原理解析

栏目: 数据库 · Oracle · 发布时间: 7年前

内容简介:Oracle Real Application Cluster (RAC,实时应用集群)用来在集群环境下实现多机共享数据库,以保证应用的高可用性;同时可以自动实现并行处理及负载均衡,并能实现数据库在故障时的容错和无断点恢复。它是oracle数据库支持网络计算环境的核心技术。它是oracle数据库支持网络计算环境的核心技术。RAC 的本质是一个数据库,运行在多台计算机上的数据库,它的主要任务是数据库就是事务处理,它通过 Distributed Lock Management(DLM:分布式锁管理器) 来解决

概述

Oracle Real Application Cluster (RAC,实时应用集群)用来在集群环境下实现多机共享数据库,以保证应用的高可用性;同时可以自动实现并行处理及负载均衡,并能实现数据库在故障时的容错和无断点恢复。它是oracle数据库支持网络计算环境的核心技术。它是oracle数据库支持网络计算环境的核心技术。

详解RAC并发逻辑、硬件架构、软件架构拓扑与原理解析

一. RAC 并发(DLM-->GRD)

RAC 的本质是一个数据库,运行在多台计算机上的数据库,它的主要任务是数据库就是事务处理,它通过 Distributed Lock Management(DLM:分布式锁管理器) 来解决并发问题。因为RAC的资源是共享的,为了保证数据的一致性,就需要使用DLM来协调实例间对资源的竞争访问。

RAC 的DLM 就叫作 Cache Fusion。

在DLM 中,根据资源数量,活动密集程度,把资源分成两类:Cache Fusion和Non-Cache Fusion。

Cache Fusion Resource指数据块这种资源,包括普通数据库,索引数据库,段头块(Segment Header),undo 数据库。

Non-Cache Fusion Resource是所有的非数据库块资源, 包括数据文件,控制文件,数据字典,Library Cache,share Pool的Row Cache等。Row Cache 中存放的是数据字典,它的目的是在编译过程中减少对磁盘的访问。

在Cache Fusion中,每一个数据块都被映射成一个Cache Fusion资源,Cache Fusion 资源实际就是一个数据结构,资源的名称就是数据块地址(DBA)。每个数据请求动作都是分步完成的。首先把数据块地址X转换成Cache Fusion 资源名称,然后把这个Cache Fusion 资源请求提交给DLM, DLM 进行Global Lock的申请,释放活动,只有进程获得了PCM Lock才能继续下一步,即:实例要获得数据块的使用权。

Cache Fusion要解决的首要问题就是:数据块拷贝在集群节点间的状态分布图, 这是通过GRD 实现的。

GRD(Global Resource Directory)

可以把GRD 看作一个内部数据库,这里记录的是每一个数据块在集群间的分布图,它位于每一个实例的SGA中,但是每个实例SGA中都是部分GRD,所有实例的GRD汇总在一起就是一个完整的GRD。

RAC 会根据每个资源的名称从集群中选择一个节点作为它的Master Node,而其他节点叫作Shadow Node。 Master Node 的GRD中记录了该资源在所有节点上的使用信息,而Shadow Node的GRD中只需要记录资源在该节点上的使用情况,这些信息实际就是PCM Lock信息。PCM Lock 有3个属性: Mode,Role 和 PI(Past Image)。

详解RAC并发逻辑、硬件架构、软件架构拓扑与原理解析

二. RAC 架构

分享一下RAC硬件架构的拓扑和软件架构拓扑。

详解RAC并发逻辑、硬件架构、软件架构拓扑与原理解析

RAC硬件架构拓扑

详解RAC并发逻辑、硬件架构、软件架构拓扑与原理解析

RAC软件架构拓扑

三. Oracle RAC的原理

  • 集群环境层面:
  • 并发控制,健忘症,脑裂,IO隔离;
  • 共享存储层面:
  • 存储层,网络层,集群件层,应用层
  • 数据库实例层面:
  • 并发访问和控制

1、集群环境&共享存储层面

-并发控制

Oracle RAC中,使用Distribute Lock Managerment(DLM)机制进行多个节点间并发访问的控制

-健忘症(一个节点更改,其他人不知道)

整个集群只有一份集群配置信息,Oracle RAC使用OCR(oracle 集群注册器) Disk文件解决

-脑裂

在Oracle RAC中Voting Disk用来记录节点间成员的状态,出现脑裂时,通过投票机制,获得最高票数或者最早达到的获得投票的,幸存,其他节点被踢出。

-IO隔离

Oracle RAC采取直接重启故障节点来限制已剔除节点对共享数据的访问

如果某个节点有故障,则踢出后并重启该节点,达到不让其访问数据的目的,实现自愈

-共享存储的共享和并发访问

需要解决存储设备的共享和并发访问问题

2、RAC层面

- 存储层

Cache fusion lock

- 网络层

共4种网络环境:

Public网络-对外提供数据查询服务、数据库维护等

Virtua网络-提供应用连接

Private网络-用于RAC心跳和cache fusion

存储网络-存储设备、HBA卡、光纤交换机等组成

-集群件层

Oracle clusterware:集群管理软件保证多主机之间的协调工作

-应用层

oracle RDBMS层面:由若干CRS Resourcezucheng

oracel RAC提供高可用服务:LMON进程监控应用(CRS Resource),应用异常时对其进行重启、切换等。


以上所述就是小编给大家介绍的《详解RAC并发逻辑、硬件架构、软件架构拓扑与原理解析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Practical JavaScript, DOM Scripting and Ajax Projects

Practical JavaScript, DOM Scripting and Ajax Projects

Frank Zammetti / Apress / April 16, 2007 / $44.99

http://www.amazon.com/exec/obidos/tg/detail/-/1590598164/ Book Description Practical JavaScript, DOM, and Ajax Projects is ideal for web developers already experienced in JavaScript who want to ......一起来看看 《Practical JavaScript, DOM Scripting and Ajax Projects》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具