【赵渝强老师】Oracle RAC集群的概念
一、什么是Oracle RAC(Real Application Cluster)?
Oracle RAC 是一个具有共享缓存架构的集群数据库,它克服了传统的无共享方法和共享磁盘方法的限制,为您的所有业务应用提供了一种具有高度可扩展性和可用性的数据库解决方案。Oracle RAC 是 Oracle 私有云架构的关键组成部分。
Oracle Real Application Clusters 可以消除数据库服务器单点故障问题,从而为客户提供优秀的数据库可用性。在集群服务器环境中,数据库本身在服务器池之间实现共享,这意味着如果池中的任何服务器出现故障,数据库将继续在正常的服务器上运行。Oracle RAC 不仅让客户能够在服务器发生故障时继续处理数据库负载,而且有助于缩短数据库计划内脱机维护时间,进而降低停机成本。
Oracle Real Application Clusters 支持在集群服务器池上透明地部署 Oracle 数据库。这让客户能够轻松地将单个服务器上的 Oracle 数据库重新部署到数据库服务器集群上,从而充分利用集群数据库服务器提供的整合内存容量和处理能力。
Oracle Real Application Clusters 提供了所有必备的软件组件,让您可以在服务器池上轻松部署 Oracle Database,充分利用集群提供的性能、可扩展性和可用性。Oracle RAC 利用 Oracle Grid Infrastructure 作为 Oracle RAC 数据库系统的基础。Oracle Grid Infrastructure 包括 Oracle Clusterware 和 Oracle 自动存储管理 (ASM),可以在高度可用和可扩展的数据库云环境中高效地共享服务器和存储资源。
二、Oracle RAC的体系架构

RAC与单实例最大的区别是,多个实例管理一个数据库。这个数据库必须安装在共享存储上。这样的架构有如下优点:
- 高可用 其中某个或者某些实例宕机,并不影响该系统对外提供服务。
- 高性能 集群的事务处理功能大大增强,多个实例可以并发的工作。
- 可扩展 当系统性能遇到瓶颈时,通过增加节点可以提高数据库的性能。
RAC中的实例,除了有单实例固有的那些后台进程,还会多一些用来进行RAC实例之间进行交互的进程。在RAC中,每个实例有自己单独的redo log和undo表空间。因为每个实例都要独自处理事务。但是这些redo和undo文件同样要放置在共享磁盘中,因为一旦实例崩溃,其他的实例要能读取到该实例的redo和undo进行事务的恢复。
RAC中引入了一个叫cache fusion的机制。也就是把所有机器的内存当成一个大的整体的内存来管理。
要管理这块内存,Oracle引入了GCS(Global Cache Service)、GES(Global Enqueue Service)、GRD(Global Resource Directory)这三个概念。
- GRD:用来记录数据库cached block在各个instance上的分布情况,以及block的状态。
- GRD分布在各个实例中,每个实例维护GRD的一部分。
- GRD由GCS和GES共同管理,GCS管理buffer cache中的数据块缓存的一致性,GES管理数据块的锁信息。
既然每个实例只维护GRD的一部分,那么我要请求一个块时,是不是每个机器都要请求?显然不是这样的,因为这样效率会非常的低。那么GCS和GES会根据一定的算法,在RAC的各个节点中选择出一个节点作为Resource Master。这个Resource Master负责处理数据块的请求。并且Resource Master会在内存中记录每个instance中GRD的索引。
【赵渝强老师】Oracle RAC集群的概念的更多相关文章
- 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)
Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...
- Oracle rac集群环境中的特殊问题
备注:本文摘抄于张晓明<大话Oracle RAC:集群 高可用性 备份与恢复> 因为集群环境需要多个计算机协同工作,要达到理想状态,必须要考虑在集群环境下面临的新挑战. 1.并发控制 在集 ...
- ORACLE RAC集群的体系结构
RAC是一个完整的集群应用环境,它不仅实现了集群的功能,而且提供了运行在集群之上的应用程序,即Oracle数据库.无论与普通的集群相比,还是与普通的Oracle数据库相比,RAC都有一些独特之处. R ...
- was配置oracle RAC集群的数据源
在WebSphere中配置配置Oracle RAC集群的数据源,假设Oracle RAC双击分别为 HOST1 与 HOST2 , 端口为1521 ,服务名为 orcldbservice,则配置的UR ...
- Oracle RAC集群资料收集
RAC优势和劣势 http://tech.it168.com/a2012/0814/1384/000001384756_all.shtml 双机热备与RAC并行模式对比 WAS数据源设置 http:/ ...
- Oracle RAC 集群环境下日志文件结构
Oracle RAC 集群环境下日志文件结构 在Oracle RAC环境中,对集群中的日志的定期检查是必不可少的.通过查看集群日志,可以早期定位集群环境中出现的问题,以便将问题消灭在萌芽状态.简单介绍 ...
- 【转】【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)
原文地址:http://www.cnblogs.com/baiboy/p/orc8.html 阅读目录 目录 数据库安装 参考文献 相关文章 Oracle 11G RAC数据库安装(八) 概述:写 ...
- bay——Oracle RAC集群体系结构.docx
Oracle RAC集群体系结构 ————bayaim 2018年10月22日13:33 https://blog.51cto.com/ixdba/862207 一. Oracle集群体系结构 O ...
- 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)
Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...
- 转载:oracle RAC集群启动和关闭
http://www.cnblogs.com/yhfssp/p/8184761.html oracle 11G RAC集群启动和关闭: 1.停止数据库 $srvctl stop database –d ...
随机推荐
- Oracle 序列学习与使用总结
Oracle序列学习与使用总结 by:授客 QQ:1033553122 简述 序列是oracle提供的用于生成一系列数字的数据库对象,序列会自动生成顺序递增的序列号,可用于提供唯一的自动递增主键.序列 ...
- 微服务:nacos服务注册与发现
服务治理的三个角色: 服务提供者:订阅服务 服务消费者:注册服务 注册中心:记录与监控服务状态,推送服务变更信息.提供者定时发送心跳检测,心跳检测失败,就会向消费者推送变更 提供者通过负载均衡的算法选 ...
- 《最新出炉》系列入门篇-Python+Playwright自动化测试-56- 多文件上传 - 下篇
1.简介 前边的两篇文章中,宏哥分别对input控件上传文件和非input控件上传文件进行了从理论到实践地讲解和介绍,但是后来又有人提出疑问,前边讲解和介绍的都是上传一个文件,如果上传多个文件,Pla ...
- jmeter forEach循环获取response参数值进行接口请求
jmeter forEach循环获取response参数值进行接口请求 注意: 一,ForEach控制器 输入变量前缀:输入正则表达式变量的引用名称即可 Start index for loop(ex ...
- Jmeter函数助手30-groovy
groovy函数用于脚本执行. 表达式评估:填入Apache Groovy脚本(不是文件名).本身包含逗号的参数值应根据需要进行转义'\,' 存储结果的变量名(可选) 1.引用变量进行截取字符处理 $ ...
- Jmeter函数助手12-threadNum
threadNum函数用于获取当前线程编号.该函数没有参数,直接引用即可. 1.线程数可在组件[测试计划->线程组]设置.如下是不传入循环次数的${__threadNum}. "调试取 ...
- 【微信小程序】 侧边栏菜单查询
原因 开发的项目在WX小程序上有个新需求 就是在用户[我的]界面里的菜单中多加一个[我的服务] 之前有提及过,服务消息被按8个消息类型拆成了8张表 对应,在小程序界面这里也应该放上对应8个菜单,按菜单 ...
- 【Server】对象存储OSS - Minio
官方文档: https://docs.min.io/docs/minio-quickstart-guide.html 看中文文档CV命令发现下不下来安装包,应该是地址问题 单击搭建非常简单,只有三个步 ...
- Java类和对象 小白版
一.类 一.类的定义 具有同种属性的对象称为类.定义了它所包含的全体对象的公共特征和功能,对象就是类的一个实例化. 类的三种常见成员:属性.方法.构造器 二.类的编写 1.类名的定义: 2.类属性(特 ...
- SMU Summer 2023 Contest Round 15
SMU Summer 2023 Contest Round 15 A. AB Balance 其实就只会更改一次 #include <bits/stdc++.h> #define int ...