ORACLE RAC工作原理-阿里云开发者社区

开发者社区> 技术小胖子> 正文

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,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Oracle DBA职责及日常工作分析
  DBA 职责及日常工作职责:     1.安装和升级数据库服务器,以及应用程序工具构建和配置网络环境.
859 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
2623 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4287 0
PowerDesigner 对 Oracle 作 逆向工程
原文 PowerDesigner 对 Oracle 作 逆向工程 目的 PowerDesigner 15对OracleClient 11g进行逆向工程    环境   Win7 64位系统 Oracle 11g OracleClient 11g   ODAC Powerdesi...
971 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9384 0
性能测试工具操作数据库(四)-Jmeter与Oracle
Jmeter通过JDBC来连接Oracke,调用的JDBC驱动:classes12.jar
872 0
13262
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载