今天分享的主要内容包括:
Real Application Cluster 概要
RAC集群件组件详解
新版本的优化及新特性
RAC的主要特点:1多活(每个实例都是活动的) 2共享磁盘


RAC的主要优点:可用性、可扩展性、性能
可用性:
单实例的数据库的话,如果发生节点故障,则无法访问数据库。
对于RAC来说,可以通过分离故障节点来访问数据库。
对于HA配置的话,需要failover才能访问数据。
在Shared Nothing类型集群的情况下,节点故障时无法访问特定数据。
可扩展性:
在单节点的环境或HA环境下,如果要增加处理器的数量的话,需要添加CPU或者替换服务器。
在RAC的情况下,可以通过添加节点来实现增加可用处理器的数量。
性能:
RAC并不会直接提高性能。而是通过增加节点数量,增加同时进程数量来间接提高性能。
与RAC环境的连接:推荐使用SCAN


介绍RAC集群件组件

Oracle Clusteware是RAC运行所必需的集群软件
管理集群件资源
把数据库,监听,进程等当做资源来管理,并且负责启动,停止和监控。
Oracle High Availability Services (OHAS) 守护进程
Cluster Ready Services (CRS) 守护进程
管理节点成员
为了集群软件的运行,需要管理集群的成员
Cluster Synchronization Services (CSS) 守护进程


OS启动时,Oracle Clusterware堆栈会自动启动。(默认)
可以使用以下命令来更改自动启动设置
无效:crsctl disable crs
有效:crsctl enable crs
手动启动/停止时,请使用crsctl start / stop crs命令
启动:crsctl start crs
停止:crsctl stop crs
检查堆栈的运行状态
crsctl status resource –t –init

启动/停止CRS资源时,请使用srvctl start / stop命令
Database
srvctl start database –d <db name>
Instance
srvctl start instance –d <db name> -n <node name>
srvctl start instance –d <db name> -i <instance name>
Listener
srvctl start listener –l <listener name> -n <node name>
检查资源的状态
crsctl status resource –t

ASM充当Oracle数据库的卷管理器并虚拟化磁盘配置
为了均等地访问所有磁盘,通过条带化把数据平均分配到每个磁盘上,并把数据做镜像。
管理ASM磁盘组的内存和进程。改造过的Oracle实例。
ASM磁盘组
从Oracle实例可见的虚拟化存储池

新版本的优化以及新特性




在12.2版本之前,节点驱逐策略并不是很智能
以2节点RAC为例,当发生脑裂时,节点号较小的节点存活
客户无法根据应用逻辑决定保留哪个节点作为幸存节点
这在后续版本中有了改善














集群件进程间通讯使用gIPC
gIPC 应用了TLS (Transport Layer Security)安全协议


