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 - 集群同步服务 
Evmd - 事件管理服务 
oprocd - 节点检测监控

有三类Resource 
******************* 
VIP - 虚拟IP地址(Virtual IP) 
OCR - Oracle Cluster Registry(集群注册文件),记录每个节点的相关信息 
Voting Disk - Establishes quorum (表决磁盘),仲裁机制用于仲裁多个节点向共享节点同时写的行为,这样做是为了避免发生冲突。 

RAC的组件 
************ 
提供过了额外的进程,用来维护数据库 
LMS - Gobal Cache Service Process 全局缓存服务进程 
LMD - Global Enqueue Service Daemon 全局查询服务守护进程 
LMON - Global Enqueue Service Monitor全局查询服务监视进程 
LCK0 - Instance Enqueue Process 实例查询进程

 

 

     本文转自vcdog 51CTO博客,原文链接:http://blog.51cto.com/255361/837531,如需转载请自行联系原作者


相关文章
|
1月前
|
存储 运维 Oracle
Oracle系列十八:Oracle RAC
Oracle系列十八:Oracle RAC
|
2月前
|
Oracle 关系型数据库
oracle Hanganalyze no RAC
oracle Hanganalyze no RAC
15 0
|
2月前
|
Oracle 关系型数据库
oracle rac 手工安装补丁,不适用auto
oracle rac 手工安装补丁,不适用auto
25 3
|
6月前
|
Oracle 关系型数据库 Java
分享一个 Oracle RAC 模式下客户端建立JDBC初始连接时因ONS造成应用启动时卡顿30秒问题的排查分析案例
分享一个 Oracle RAC 模式下客户端建立JDBC初始连接时因ONS造成应用启动时卡顿30秒问题的排查分析案例
|
11月前
|
存储 Oracle 关系型数据库
|
11月前
|
存储 运维 Oracle
Oracle数据库机:让数据价值回归用户“第一性原理”
Oracle数据库机:让数据价值回归用户“第一性原理”
|
SQL 存储 Oracle
MySQL和Oracle的区别是什么?底层原理是什么?
MySQL和Oracle的区别是什么?底层原理是什么?
506 0
|
文字识别 Oracle 关系型数据库
Oracle rac重新执行root.sh脚本
Oracle rac重新执行root.sh脚本
697 0
|
Oracle 关系型数据库 数据库管理
|
Oracle 关系型数据库 数据库管理

推荐镜像

更多