`

【赵强老师】Oracle RAC集群的概念

阅读更多

一、什么是Oracle RAC?

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课件

    赵强老师在传智播客的Oracle课程是专为IT专业人士和对数据库技术感兴趣的学员设计的一系列教学资料,旨在深入浅出地讲解Oracle的核心概念、功能以及实际操作技巧。 在赵强老师的课程中,你可以学到以下几个重要的...

    赵强老师的Oracle课件

    想要好好地学习Oracle数据库的朋友呀,你错过了她就太不值得了。里面有好多的Oracle操作命令可能你都没接触过吧。好了,话不多多说。坚信资料不错!你,值得拥有!OK.还有,之所有要你2分打赏,是我给了你这么好的...

    从零开始oracle

    ### Oracle基础教程:从零开始了解Oracle9i #### 关系型数据库系统简介 ##### 1.1.1 什么是关系型数据 关系型数据是一种按照关系数学模型组织和存储的数据形式。这种模型以二维表格的方式呈现数据,表格中的每一...

    oracle内部培训教材(来自传智播客学员)

    这份"oracle内部培训教材"源自知名教育机构传智播客的学员资源,旨在帮助学习者深入理解Oracle数据库系统的核心概念、管理和优化技术。 一、Oracle数据库基础 Oracle数据库是一个关系型数据库管理系统(RDBMS),它...

    Oracle数据库赵强视频教程【3天】

    教程名称:Oracle 数据库赵强视频教程【3天】教程目录:【】Oracle安装与管理、SQL语句(赵强)【】Orcale存储过程jdbc与Orcale大文本操作等(赵强)【】SQL简单查询触发器视图(赵强)  资源太大,传百度网盘了,链接在...

    oracle讲义

    Oracle数据库管理系统是全球广泛使用的大型关系型数据库系统之一,它为各类企业和组织提供高效的数据存储和管理解决方案。本文将深入探讨"Oracle讲义"中涉及的关键知识点,包括Oracle的体系结构、文件管理、光标、...

    oracle课件

    首先,让我们探讨Oracle数据库的基础概念。Oracle数据库是一个用于存储和管理数据的软件系统,它支持多种数据类型,包括数值、字符串、日期、二进制数据等。Oracle使用SQL(结构化查询语言)作为其主要的数据操作...

    Oracle学习笔记(传智播客 赵强)

    在Oracle数据库的学习中,SQL优化是一项至关重要的技能,因为它直接影响到数据库的性能和查询效率。以下是一些关于SQL优化的关键知识点: 1. **使用列名代替通配符(*)**:在编写SQL查询时,避免使用`*`来获取所有列...

    day2013-0110-webLogic配置和集群(赵强).zip

    1. 集群概念:集群是WebLogic的一种高可用性和可扩展性解决方案,将多个独立的服务器实例组合成一个逻辑单元,它们之间共享负载并提供故障转移能力。 2. 创建集群:在WebLogic管理控制台中,创建一个新的集群,为每...

    精通JSP编程 作者赵强 编

    精通JSP编程 作者赵强 编 12-18节

    精通JSP编程 作者赵强

    《精通JSP编程》是赵强先生的一部深入解析JSP技术的专业著作,该书针对JSP编程进行了全面且深入的讲解,旨在帮助读者掌握JSP的核心概念和技术,提升Web应用开发能力。根据提供的文件名列表,我们可以推测书籍的章节...

    [1120][赵强精通JSP编程][37M]

    根据提供的文件信息,我们可以推断出这是一份与Java Server Pages (JSP)相关的学习资料介绍,特别是关于赵强编写的《精通JSP编程》这本书的相关信息。下面将基于这个理解来生成相关知识点。 ### 一、JSP基础概念 ...

    信息存储技术的发展赵强.doc

    信息存储技术,作为信息技术的基石之一,从早期的岩画、古书,到现代的半导体、磁盘、光存储,再到先进的集群存储和虚拟化技术,其发展历程见证了人类社会的巨大变革。自20世纪开始,随着“万物皆可数”的理念推动,...

    10天掌握MongoDB

    本文将从NoSQL的基础概念出发,逐步深入介绍MongoDB的核心特性、架构、安装、数据操作和管理等方面的知识点。 首先,我们需要了解NoSQL的基本概念。NoSQL指的是“不仅仅是SQL”,它是对于传统关系型数据库的一种...

    二年级数学生活中的大数赵强PPT学习教案.pptx

    这篇PPT学习教案主要针对二年级的学生,旨在教授他们在生活中如何理解和使用大数。课程以实际生活中的例子引入,帮助...在教学过程中,教师可能会引导学生进行估算、比较和排序,培养他们的逻辑思维和问题解决能力。

    二年级数学生活中的大数赵强PPT课件.pptx

    这篇PPT课件是针对二年级学生的数学课程,主题为“生活中的大数”,旨在帮助孩子们理解和掌握大数的概念,并将其与日常生活中的实例相结合。在课件中,通过展示一些实际的例子来引入大数,例如可见的星星数量、教学...

    LoadRunner性能测试巧匠训练营-完整版(带目录)-赵强邹伟伟

    《LoadRunner性能测试巧匠训练营》是一本深入讲解LoadRunner性能测试的教材,由赵强和邹伟伟两位专家共同编著。该资源提供的是完整版,且无需密码即可解压阅读,对于想要学习和提升LoadRunner性能测试技能的人来说,...

    java代码-46 赖赵强

    【标题】"java代码-46 赖赵强"所指的可能是一个关于Java编程的项目或示例,由开发者赖赵强创建。...通过这种方式,我们可以学习到赖赵强分享的编程技巧、解决问题的方法,甚至可能接触到新的编程概念或工具的使用。

Global site tag (gtag.js) - Google Analytics