Oracle RAC 原理
查找 RPM 安装包地址:http://rpmfind.net
Oracle RAC 原理
ORACLE RAC 原理在一个应用环境当中,所有的服务器使用和管理同一个数据库,目的是
为了分散每一台服务器的工作量,硬件上至少需要两台以上的服务器,而且还需要一个共
享存储设备。同时还需要两类软件,一个是集群软件,另外一个就是 Oracle 数据库中的
RAC 组件。同时所有服务器上的 OS 都应该是同一类 OS,根据负载均衡的配置策略,当一
个客户端发送请求到某一台服务的 listener 后,这台服务器根据我们的负载均衡策略,会把
请求发送给本机的 RAC 组件处理也可能会发送给另外一台服务器的 RAC 组件处理,处理
完请求后,RAC 会通过集群软件来访问我们的共享存储设备。
逻辑结构上看,每一个参加集群的节点有一个独立的 instance,这些 instance 访问同一个数
据库。节点之间通过集群软件的通讯层(communication layer)来进行通讯。同时为了减少
IO 的消耗,存在了一个全局缓存服务,因此每一个数据库的 instance,都保留了一份相同
的数据库 cache。
RAC 中的特点是:
每一个节点的 instance 都有自己的 SGA
每一个节点的 instance 都有自己的 background process
每一个节点的 instance 都有自己的 redo logs
每一个节点的 instance 都有自己的 undo 表空间
所有节点都共享一份 datafiles 和 controlfiles
Oracle 还提出了一个缓存融合的技术(Cache fusion)
目的有两个
1.保证缓存的一致性
2.减少共享磁盘 IO 的消耗
因此在 RAC 环境中多个节点保留了同一份的 DB CACHE
缓存融合(Cache fusion)工作原理:
****************************************
1.其中一个节点会从共享数据库中读取一个 block 到 db cache 中
2.这个节点会在所有的节点进行交叉 db block copy
3.当任何一个节点缓存被修改的时候,就会在节点之间进行缓存修改
4.为了达到存储的一致最终修改的结果也会写到磁盘上
ClusterWare 组件
*******************
有四种 Service
Crsd - 集群资源服务
Cssd - 集群同步服务
评论1