ORACLE RAC 11g的体系结构

来源:互联网 发布:caffe cudnn 编辑:程序博客网 时间:2024/04/28 04:54


ORACLE RAC 11g的体系结构


2.1、RAC介绍

file://C:\Users\ADMINI~1\AppData\Local\Temp\ct_tmp/1.png




2.2、Oracle RAC 11g 的新特性

file://C:\Users\ADMINI~1\AppData\Local\Temp\ct_tmp/2.png

小结:
1、与以前的版本相比,Oracle RAC 11g 有较大的变化,特别是在RAC 11.2 中。其中最大的变化是ASM存储技术在 RAC 11.2 中,ASM 软件是和Clusterware软件一起被安装的,在安装这两种软件的同时,就可以创建ASM实例和ASM磁盘组,OCR和Voting 文件可以存储在ASM磁盘组中
2、增加了SYSASM 权限。具有这个权限的用户就是ASM实例的管理员,这个用户就能 够以“AS SYSASM”的方式登录ASM 实例
3、Clusterware 和Oracle 数据库软件由两个用户分别安装,ASM实例和数据库实例也由两个用户分别进行管理
4、在 RAC 11.1 中,OCR 和Voting 文件可以存储在磁盘裸设备和磁盘块设备中。在RAC 11.2 中 RAC 中,OCR 和Voting 文件可以存储在ASM磁盘组中
5、从 RAC 11.2 开始,Clusterware软件和ASM软件合在一起组成了Grid Infrastructure 软件。由于Grid Infrastructure 软件是先于Oracle 数据库软件被安装的,所以OCR 和Voting 文件可以存储在ASM 磁盘组中
6、从 RAC 11.2 开始,完全取消了对裸设备的支持
7、从 RAC 11.2 开始,增加了集群时间同步服务(CTSS),利用这个服务,可以对多个节点之间的时间进行同步
8、从 RAC 11.2 开始,客户端应用程序既可以通过VIP,也可以通过SCAN地址连接数据 库实例。Oracle 建议使用SCAN
9、从 RAC 11.2 开始,在ASM 磁盘组中可以创建卷和ACFS文件系统。在安装Oracle 数 据库软件时,可以将ACFS 文件系统指定为软件的安装路径


2.3、RAC集群的体系结构

a、RAC集群网络构成及功能?
RAC 由至少两个节点组成,节点之间通过公共网络和私有网络连接,其中私有网络的功能是实现节点之间的通信,而公共网络的功能是提供用户的访问

b、什么是RAC中的VIP?
在每个节点上分别运行 一个Oracle数据库实例和一个监听器,分别监听一个IP地址上的用户请求,这个地址称为 VIP(Virtual IP)。用户可以向任何一个VIP所在的数据库服务器发出请求,通过任何一个数据库实例访问数据库

c、clusterware的作用?
clusterware 负责监视每个节点的状态,如果发现某个节点出现故障,便把这个节点上的数据库实例和它所对应的VIP以及其他资源切换到另外一个节点上, 这样可以保证用户仍然可通过这个VIP 访问数据库

d、RAC的作用?
通过RAC,不仅可以实现数据库的并发访问,而且可以实现用户访问的负载均衡


在 RAC 环境中,多个数据库实例同时访问同一个数据库,每个数据库实例分别在不同的节点上运行,而数据库存放在共享的存储设备上


通过RAC,不仅可以实现数据库的并发访问,而且可以实现用户访问的负载均衡。用户可以通过任何一个数据库实例访问数据库,实例之间通过内部通信来保证事务的一致性。 例如,当用户在一个实例修改数据时,需要对数据加锁。当另一个用户在其他实例中修改同样的数据时,便需要等待锁的释放。当前一个用户提交事务时,后一个用户立即可以得到修改之后的数据


file://C:\Users\ADMINI~1\AppData\Local\Temp\ct_tmp/3.png
1、在创建RAC 集群时,一般来说,Clusterware 软件和Oracle 数据库软件安装在每个节点的本地文件系统中,而那些要被所有节点访问的文件则存放在共享的存储设备中
2、在安装 Clusterware 软件时,需要在共享存储设备中创建OCR 和Voting 文件。其中,在 OCR 文件中记录RAC 集群的配置信息,在Voting 文件记录每个节点的成员资格信息。每个节点中的 RAC 集群在启动时,都需要读这两个文件,以确定当前
节点的成员资格,并获得整个集群的配置信息。在创建数据库时,数据库文件、重做日志文件、控制文件、参数文件也存放在共享的存储设备中

小结:
1、Voting Disk和OCR是Oracle Clusterware的2部分
2、Voting Disk里面记录着节点成员的信息。如RAC数据库中有哪些节点成员,节点增加或者删除时也同样会将信息记录进来。
3、Voting Disk必须存放在共享存储上,为了保证Voting Disk的安全,需要配置多个Voting Disk

4、OCR 记录的是节点成员的配置信息,如数据库、ASM、实例、监听器、VIP等CRS资源的配置信息。CRS进程管理的信息来自OCR的内容。OCR存储的配置信息是以目录树的形式来记录一系列“键-值”对应信息的


共享存储设备,RAC 有以下几种使用方式:
1、在共享存储设备中创建集群文件系统,如Linux 中的 OCFS、AIX 中的GPFS 等
2、在共享存储设备中创建文件系统,然后在NFS服务中将这些文件系统设置为共享文件系统
3、创建ASM 磁盘组,将共享存储设备放在ASM 磁盘组中

小结:无论以什么样的方式使用共享存储设备,多个节点需要能够同时访问存储于这种设备中 的文件。因此,与单机中的存储设备相比,共享存储设备需要有向多个节点提供并发访问的能力

小结:
1、从 11.2 版本开始,Oracle 已经完全取消了对裸设备的支持,这就意味着,无论是OCR 和Voting 文件,还是数据库文件,都不能存储在裸设备中
2、Oracle 目前强力推荐使用的存储技术是ASM。在安装Grid Infrastructure软件时,同时安装了Clusterware软件和ASM软件,这时就可以创建ASM 实例和ASM磁盘组,并把 OCR和Voting 文件存储在ASM 磁盘组中
3、在创建数据库时,还可以再创建其他的ASM 磁盘组,把数据库文件和快速恢复区 (Flash recovery area)也存放在 ASM 磁盘组中
4、为了访问ASM 磁盘组中的文件,在每个节点上需要运行一个ASM 实例。ASM 实例的功能是对ASM 磁盘组进行管理和控制。在一个RAC 集群环境中,可以创建多个ASM磁盘 组,在不同的磁盘组可以存放不同类型的文件



在单实例数据库中,一个实例只能访问一个数据库,一个数据库只能被一个实例打开。 实例是内存中的结构,包括 SGA(System Global Area)和后台进程两部分。其中 SGA是内存中一些缓冲区的集合

以下几种缓冲区是每个实例都需要的
file://C:\Users\ADMINI~1\AppData\Local\Temp\ct_tmp/5.png
1、数据库高速缓存 存放用户最近所访问的数据
2、重做日志缓冲区 存放与用户事务有关的重做日志
3、共享池 包括库缓冲区和数据字典缓冲区。其中,在库缓冲区中存放用户最近所执行过的SQL语句以及它们的分析代码和执行计划。在数据字典缓冲区中存放用户最近所访问过的数据库对象的数据字典信息。


在启动实例时,系统在内存中分配 SGA,同时启动若干后台进程。后台进程的主要 能是在实例和数据库之间交换数据
以下后台进程是每个实例都需要的,如下图所示:
file://C:\Users\ADMINI~1\AppData\Local\Temp\ct_tmp/6.png
小结:
1、PMON 用于监视用户进程的状态,如果发现用户进程意外终止,便回收相关的资源, 回滚没有提交的事务,并释放用户进程对数据所加的锁


RAC通过什么技术保证多个实例之间数据的一致性?

在 RAC 集群数据库中,每个数据库实例都具有数据库高速缓存等几种内存结构,以及 SMON 等后台进程,这一点与单实例数据库是相同的。然而,多个实例需要同时访问数据库中的数据,这就要求RAC 保证数据的一致性。RAC 通过“缓存融合”(Cache Fusion)技 术来保证数据在多个实例之间的一致性。

缓存融合技术的工作原理?
利用“缓存融合”技术,RAC 把每个数据库实例中的数据库高速缓存,在逻辑上虚拟为一个大的缓存,每个数据库实例在处理数据时,就好像是处于自己的缓存中一样。在每个数 据库实例中还有另外两个后台进程GCS(Global Cache Service,全局缓存服务)和GES(Global Enqueue Service,全局队列服务

后台进程GCS和GES作用?
用来维护每个数据文件的状态,以及那些已经被读到数据库高速缓存中的数据块的状态,这些状态信息记录在一个称为GRD(Global Resource Directory,全局资源目录)的内存数据结构中

当一个数据库实例访问数据时,数据所在的数据块被读到这个实例的数据库高速缓存中, 其他数据库实例将从前一个实例中得到这个数据块的映像。如果数据块的内容被修改,其他实例也将得到被修改之后的映像。由此可见,当多个数据库实例同时访问同样的数据时,数据直接在这些实例的数据库高速缓存之间传输,而不需要重复地从数据文件中读取。为了实 现“缓存融合”,在不同的实例之间需要进行相互通信,这种通信是通过私有网络来完成的

从上述内容可以看出,私有网络在整个RAC 集群环境中起着非常重要的作用:一方面, Clusterware 通过私有网络发送心跳信号,探测每个节点的状态;另一方面,数据库实例通 过私有网络实现“缓存融合”。为了避免对私有网络的通信带来干扰,建议大家不要通过私有 网络实现用户的访问


小结:
1、私有网络的作用: a、Clusterware 通过私有网络发送心跳信号,探测每个节点的状态;b、数据库实例通过私有网络实现缓存融合



























原创粉丝点击