网站首页 > 技术文章 正文
一、什么是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的索引。
猜你喜欢
- 2024-10-12 oracle12c-RAC安装部署之防火墙、selinux、hostname配置
- 2024-10-12 Vmware +RedHat5.5+Oracle 11G+Oracle Rac安装配置手册
- 2024-10-12 在虚拟化平台(vSphere 或vSAN)上部署Oracle RAC集群注意事项
- 2024-10-12 烟台某企业数据中心项目-1-Oracle Rac
- 2024-10-12 ORACLE 11G RAC 安装-通过VM配置共享磁盘
- 2024-10-12 《构建最高可用Oracle数据库系统》
- 2024-10-12 Oracle RAC中各种IP的作用 oracle rac需要几个ip
- 2024-10-12 Oracle11g rac集群安装执行脚本报错的解决方法
- 2024-10-12 Oracle11g RAC集群启动流程 rac集群重启oracle监听
- 2024-10-12 基于Rac+ASM磁盘组进行Oracle数据库扩容
你 发表评论:
欢迎- 06-24发现一款开源宝藏级工作流低代码快速开发平台
- 06-24程序员危险了,这是一个 无代码平台+AI+code做项目的案例
- 06-24一款全新的工作流,低代码快速开发平台
- 06-24如何用好AI,改造自己的设计工作流?
- 06-24濮阳网站开发(濮阳网站建设)
- 06-24AI 如何重塑前端开发,我们该如何适应
- 06-24应届生靠这个Java简历模板拿下了5个offer
- 06-24服务端性能测试实战3-性能测试脚本开发
- 566℃Oracle分析函数之Lag和Lead()使用
- 564℃几个Oracle空值处理函数 oracle处理null值的函数
- 550℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 545℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 543℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 536℃【数据统计分析】详解Oracle分组函数之CUBE
- 526℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 518℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)