Amnair 数据和云

 

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java

编辑手记:Oracle产品经理Amnair曾在Oracle Open World上做过一个分享,详解了RAC的一些核心内部机制,以及在12.2中的最新的变化。现在这份ppt Amnair已经公开,关注'数据和云'公众号,以关键字回复的方式立即获取。关键字:'Internals'(不区分大小写)

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_02

接下来我们将会针对ppt中最经典的模块进行讲解分享。

 

一、Cluster Domain

在12.2中,OracleRAC有很多重要的改进。而Cluster Domain堪称最醒目的变化。

 

Oracle Cluster Domain为集群架构提供了新的部署选项。为私有数据库云下RAC的部署提供了标准化、集中式的部署,并能够对RAC进行优化。

 

 

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_03

 

多个集群配置分组在Oracle Cluster Domain下进行管理,并利用该Oracle Cluster Domain中可用的共享服务。Oracle Domain Services Cluster为在同一个Domain内的其他集群提供了集中的服务,这些服务包括:集中的网格基础架构管理存储库;TFA服务;合并Oracle ASM服务;RHP服务等。

 

参考阅读:YH4 Oracle Flex Clusters

 

 

二、ASM存储

12.2中,通过flex  ASM能够对ASM磁盘中的文件进行分组管理,这样每个组就可以存放一个库的文件或者一个PDB的文件。

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_04

 

同时,在一个磁盘组中,可以支持再次分组,以文件组为单位,分成quota组。

 

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_05

 

好处是可以对文件组再次实现分组管理,如果以复制的方式生成quota group,那么可以改变文件组界别的冗余度。通过Shadow copies 的方式复制PDB的文件组,可以直接生成克隆的PDB。

三、Oracle自主健康检查

在12.2中,Oracle提供了完善的自主健康检查机制,包含集群可用性检查、ORA错误检查、集群健康状态检查、Trace文件分析、内存检查等各个方面。能够对Oracle数据库进行全面细致的健康诊断和把关。

 

 

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_06

 

四、内存融合改进

在内存融合的基础上,通过DRM,将资源的Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_07主节点动态调整,降低节点之间的数据交互。

 

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_08

 

数据在节点之间地方交互基本上是LMS进程来完成的。LMS负责访问资源主节点获取资源使用信息,并访问资源持有节点申请资源数据,最后把数据返回给申请节点。

 

数据在节点间的交互有两种情况,一种是当前块的交互,另一种是一致性块的交互。在一致性块的交互过程中,需要在资源的持有节点进行事务回滚,创建一致性块。这时候,回滚的工作也是由LMS进程来完成。

 

考虑以下情况:如果资源持有节点事务很大,创建一致性块需要回滚很多步骤,系统将长时间处于等待状态;如果undo表空间不足,回滚出错,未能正常创建一致性块,则数据访问请求会报错,甚至可能引发LMS进程奔溃。

 

因此,在Oracle 12.2 中,为LMS进程增加了两类slave进程,一类是RMVn进程,负责处理LMS的常规事务,另一类是CRn进程,负责协助LMS在申请一致性块的时候的事务。

 

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_07

五、内存基于PDB的域划分

在多租户环境中,以前内存空间是所有PDB共享的,一个pdb的事务需要做内存寻址的话,需要扫描全局的空间,很不方便。在12.2中,内存空间能够基于PDB做划分。

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_10

 

参考阅读:YH9:Oracle Multitenant 知识库

 

六、集群重新配置优化

在RAC环境的重新配置中,以前配置过程需要五个步骤完成:Detect(检测到异常)->(Evict)节点驱逐->Elect Recovery Master(选取恢复主节点)->read redo(读取日志并获得相应的锁)->实例恢复。

 

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_11

 

在12.2中,通过recovery buddy,能够很大程度上减少集群节点的重新配置时间。只需要将出现异常的节点驱逐出去,然后做资源的重新配置就好。

 

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_12

 

如上图,实现机制就是集群中的每一个节点互为recovery  buddy,在共享池里,分配一部分空间存放彼此的内存资源信息。这样,当一个节点出现问题,其他节点可以直接进行资源的重新配置过程,无需访问故障节点。

 

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_13

 

七、Flex Cluster解决方案

在集群的架构上,12.2提出了Flex Cluster方案,每个集群有两类节点,一类是hub 节点,一类是leaf 节点,前者可以直接访问共享存储,后者不能。leaf 节点可以做成只读节点,reader node,实现业务上读写分离。

 

 

leaf node与hub node之间松耦合的方式连接,如果hub node出现问题,与它相连的leaf node可以连接到其他的hub node,避免对业务的影响,实现高可用。

 

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_14

八、GI升级过程详解

最后,作者还分享了如何进行GI从12.1到12.2的升级。

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_15

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals_Java_16

 

Oracle 原版经典ppt首次公开,免费下载:Oracle RAC Internals
https://mp.weixin.qq.com/s/oTLgIT72S8iVw7o2efXd0Q