本文共 1807 字,大约阅读时间需要 6 分钟。
在12.2中,OracleRAC有很多重要的改进。而Cluster Domain堪称最醒目的变化。
Oracle Cluster Domain为集群架构提供了新的部署选项。为私有数据库云下RAC的部署提供了标准化、集中式的部署,并能够对RAC进行优化。
多个集群配置分组在Oracle Cluster Domain下进行管理,并利用该Oracle Cluster Domain中可用的共享服务。Oracle Domain Services Cluster为在同一个Domain内的其他集群提供了集中的服务,这些服务包括:集中的网格基础架构管理存储库;TFA服务;合并Oracle ASM服务;RHP服务等。
参考阅读:YH4 Oracle Flex Clusters
12.2中,通过flex ASM能够对ASM磁盘中的文件进行分组管理,这样每个组就可以存放一个库的文件或者一个PDB的文件。
同时,在一个磁盘组中,可以支持再次分组,以文件组为单位,分成quota组。
好处是可以对文件组再次实现分组管理,如果以复制的方式生成quota group,那么可以改变文件组界别的冗余度。通过Shadow copies 的方式复制PDB的文件组,可以直接生成克隆的PDB。
在12.2中,Oracle提供了完善的自主健康检查机制,包含集群可用性检查、ORA错误检查、集群健康状态检查、Trace文件分析、内存检查等各个方面。能够对Oracle数据库进行全面细致的健康诊断和把关。
在内存融合的基础上,通过DRM,将资源的主节点动态调整,降低节点之间的数据交互。
数据在节点之间地方交互基本上是LMS进程来完成的。LMS负责访问资源主节点获取资源使用信息,并访问资源持有节点申请资源数据,最后把数据返回给申请节点。
数据在节点间的交互有两种情况,一种是当前块的交互,另一种是一致性块的交互。在一致性块的交互过程中,需要在资源的持有节点进行事务回滚,创建一致性块。这时候,回滚的工作也是由LMS进程来完成。
考虑以下情况:如果资源持有节点事务很大,创建一致性块需要回滚很多步骤,系统将长时间处于等待状态;如果undo表空间不足,回滚出错,未能正常创建一致性块,则数据访问请求会报错,甚至可能引发LMS进程奔溃。
因此,在Oracle 12.2 中,为LMS进程增加了两类slave进程,一类是RMVn进程,负责处理LMS的常规事务,另一类是CRn进程,负责协助LMS在申请一致性块的时候的事务。
在多租户环境中,以前内存空间是所有PDB共享的,一个pdb的事务需要做内存寻址的话,需要扫描全局的空间,很不方便。在12.2中,内存空间能够基于PDB做划分。
参考阅读:YH9:Oracle Multitenant 知识库
在RAC环境的重新配置中,以前配置过程需要五个步骤完成:Detect(检测到异常)->(Evict)节点驱逐->Elect Recovery Master(选取恢复主节点)->read redo(读取日志并获得相应的锁)->实例恢复。
在12.2中,通过recovery buddy,能够很大程度上减少集群节点的重新配置时间。只需要将出现异常的节点驱逐出去,然后做资源的重新配置就好。
如上图,实现机制就是集群中的每一个节点互为recovery buddy,在共享池里,分配一部分空间存放彼此的内存资源信息。这样,当一个节点出现问题,其他节点可以直接进行资源的重新配置过程,无需访问故障节点。
在集群的架构上,12.2提出了Flex Cluster方案,每个集群有两类节点,一类是hub 节点,一类是leaf 节点,前者可以直接访问共享存储,后者不能。leaf 节点可以做成只读节点,reader node,实现业务上读写分离。
leaf node与hub node之间松耦合的方式连接,如果hub node出现问题,与它相连的leaf node可以连接到其他的hub node,避免对业务的影响,实现高可用。
最后,作者还分享了如何进行GI从12.1到12.2的升级。
本文出自数据和云公众号,
转载地址:http://wfmia.baihongyu.com/