一、什么是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集群的概念的更多相关文章

  1. 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)

    Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  2. Oracle rac集群环境中的特殊问题

    备注:本文摘抄于张晓明<大话Oracle RAC:集群 高可用性 备份与恢复> 因为集群环境需要多个计算机协同工作,要达到理想状态,必须要考虑在集群环境下面临的新挑战. 1.并发控制 在集 ...

  3. ORACLE RAC集群的体系结构

    RAC是一个完整的集群应用环境,它不仅实现了集群的功能,而且提供了运行在集群之上的应用程序,即Oracle数据库.无论与普通的集群相比,还是与普通的Oracle数据库相比,RAC都有一些独特之处. R ...

  4. was配置oracle RAC集群的数据源

    在WebSphere中配置配置Oracle RAC集群的数据源,假设Oracle RAC双击分别为 HOST1 与 HOST2 , 端口为1521 ,服务名为 orcldbservice,则配置的UR ...

  5. Oracle RAC集群资料收集

    RAC优势和劣势 http://tech.it168.com/a2012/0814/1384/000001384756_all.shtml 双机热备与RAC并行模式对比 WAS数据源设置 http:/ ...

  6. Oracle RAC 集群环境下日志文件结构

    Oracle RAC 集群环境下日志文件结构 在Oracle RAC环境中,对集群中的日志的定期检查是必不可少的.通过查看集群日志,可以早期定位集群环境中出现的问题,以便将问题消灭在萌芽状态.简单介绍 ...

  7. 【转】【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)

    原文地址:http://www.cnblogs.com/baiboy/p/orc8.html   阅读目录 目录 数据库安装 参考文献 相关文章 Oracle 11G RAC数据库安装(八) 概述:写 ...

  8. bay——Oracle RAC集群体系结构.docx

    Oracle RAC集群体系结构 ————bayaim  2018年10月22日13:33 https://blog.51cto.com/ixdba/862207  一. Oracle集群体系结构 O ...

  9. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  10. 转载:oracle RAC集群启动和关闭

    http://www.cnblogs.com/yhfssp/p/8184761.html oracle 11G RAC集群启动和关闭: 1.停止数据库 $srvctl stop database –d ...

随机推荐

  1. P10245 Swimming Pool题解

    P10245 Swimming Pool 题意 给你四条边 \(abcd\),求这四条边是否可以组成梯形. 思路 这显然是一道简单的普通数学题. 判断是否能构成梯形只需看四条边是否能满足,上底减下底的 ...

  2. OpenGL 三角形颜色插值

    1.最懒的方法--Nearest Neighbor对于三角形内的点,离三个顶点谁最近,就赋值为那个顶点对应的颜色. 2.最天真的方法--Distance三角形内一点的值应该来自于三个顶点. 计算距离: ...

  3. scratch编程作品-《滚动的物理小球》

    程序说明: <滚动的物理小球>是一款基于Scratch平台开发的小游戏.在这个游戏中,玩家通过按左右方向键来控制一个小球在屏幕上的左右移动.小球在移动过程中,完全遵循物理引擎的规则,如加速 ...

  4. 百度翻译network里没有sug(文章发布时间2022年10月)

    百度翻译已经更新,现在的百度翻译分为两个阶段翻译,第一个阶段识别你的翻译字符是什么类型语言 第二阶段生成随机sign加携带token以post表单方式上传数据,返回json数据 尚硅谷在B站发布的的爬 ...

  5. 论文:使用分层强化学习进行空对空格斗(战斗机空对空搏斗)《Hierarchical Reinforcement Learning for Air-to-Air Combat》

  6. vue项目之登录功能

    1.背景 在上一节的学习中我们基本上完成了登录的表单输入框界面如下: 代码: <!-- 输入框--> <el-form label-width="0px" cla ...

  7. 代码随想录Day6

    454.四数相加Ⅱ 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k ...

  8. MFC对话框程序:实现程序启动画面

    MFC对话框程序:实现程序启动画面 对于比较大的程序,在启动的时候都会显示一个画面,以告诉用户程序正在加载,或者显示一些关于软件的信息,如Visual C++,Word, PhotoShop等.那么对 ...

  9. 【牛客刷题】HJ6 质数因子

    题目链接 这道题本身更多的是考察如何计算一个数的质数因子,更像是一道数学题,用到了循环的方法: package main import ( "fmt" "math&quo ...

  10. 手把手教Linux驱动10-platform总线详解

    platform总线是学习linux驱动必须要掌握的一个知识点. 本文参考已发布:Linux 3.14内核 一.概念 嵌入式系统中有很多的物理总线:I2c.SPI.USB.uart.PCIE.APB. ...