编辑手记:RAC是Oracle最重要的高可用架构之一,具有扩展性良好、实现负载均衡等多维度的优势,Oracle RAC提供了相应的集群软件和存储管理软件,今天我们一起来学习在12.2中,Oracle在RAC集群资源的管理上有哪些重要的更新。
注:文章内容来自官方文档翻译。若需要了解更多,请查阅官方文档。
Oracle 弹性 ASM磁盘组提供了一组强大的功能,可以增加在使用ASM进行存储管理的不同数据库之间进行合并的机会。 配额管理允许ASM管理员控制存储消耗。
增加存储级别的整合要求存储管理员(即ASM管理员)通过特定数据库限制存储消耗。
Oracle ASM提供面向数据库的存储管理与弹性磁盘组。
Oracle ASM弹性磁盘组是支持Oracle ASM文件组的磁盘组类型。
Oracle ASM文件组描述属于数据库的一组文件,并允许在文件组或数据库级别执行存储管理。
Oracle ASM弹性磁盘组是支持Oracle ASM文件组和配额组的磁盘组类型。 通常除磁盘组级别之外,弹性磁盘组还允许用户以数据库的粒度管理存储。
使用CREATE DISKGROUP 创建弹性磁盘组
SQL> CREATE DISKGROUP flex_data FLEX REDUNDANCY DISK my_disk_discovery_path;
使用ALTER DISKGROUP 将普通磁盘组迁移至弹性磁盘组
SQL> ALTER DISKGROUP data MOUNT RESTRICTED;
SQL> ALTER DISKGROUP data CONVERT REDUNDANCY TO FLEX;
Oracle ASM文件组是共享同一组属性和特性的一组文件。 此属性集包括冗余,重新平衡重建优先级,重新平衡功率限制,客户端兼容性,条带化,配额组和访问控制列表。
文件组的主要优点是能够为共享同一磁盘组的每个数据库指定不同的可用性规范。 文件组对于时间点数据库克隆也很有用。
添加文件组到数据库中
ALTER DISKGROUP DiskGroup_1 ADD FILEGROUP FileGroup_PDB1 DATABASE PDB1 SET 'quota_group' = 'QuotaGroup_QGRP1';
ALTER DISKGROUP DiskGroup_1 ADD FILEGROUP FileGroup_PDB2 DATABASE PDB2 SET 'quota_group' = 'QuotaGroup_QGRP2';
修改文件组
ALTER DISKGROUP DiskGroup_1 MODIFY FILEGROUP FileGroup_PDB1 SET 'datafile.redundancy' = 'HIGH';
当然也可以通过ASMCMD进行修改
配额组定义分配给一组Oracle ASM文件组的配额。 文件组仅属于一个配额组。 配额可以描述不同数据库使用的空间的聚合。
添加配额组到磁盘组
ALTER DISKGROUP DiskGroup_2 ADD QUOTAGROUP QuotaGroup_QGRP3 SET 'quota'= 10m;
移动文件组到一个新的配额组
ALTER DISKGROUP DiskGroup_2 MODIFY FILEGROUP FileGroup_PDB1 SET 'quota_group' = 'QuotaGroup_QGRP3';
基于优先级别的Rebalancing是Oracle Flex ASM磁盘组的一项功能,它允许某些文件集在其他文件集之前重新平衡。 文件集可以被视为属于数据库或可插拔数据库(PDB)的ASM文件的集合。 Oracle Flex ASM磁盘组允许分割文件集中的文件的镜像副本,然后在Rebalancing操作期间创建新的镜像副本。 优先重新平衡使您能够更关注于关键的数据库或PDB。
Oracle 弹性 ASM磁盘组支持更高级别的整合,这增强了对某些数据库操作的优先级排序的需求, 此功能允许发生优先级交换。
在跨地理分散的数据中心使用Oracle RAC数据库,或者在同一建筑物或园区内不同位置的存储阵列之间镜像数据的时候,要求将Oracle RAC安装为扩展Oracle RAC配置。 在以前的版本中,这样的配置必须手动建立并且需要安装后设置步骤。 从12.2开始,基于对站点的介绍,允许在安装期间对整个堆栈进行配置,并优化扩展的Oracle RAC操作。
可区分的扩展Oracle RAC配置允许扩展的Oracle RAC设置的更好的可靠性,无论是在站点之间或在需要防止存储阵列故障的较小配置环境中。
可以配置具有一个或多个磁盘组和多个故障组的Oracle扩展集群。 使用ConvertToExtended脚本,创建多个数据站点并将节点与每个数据站点相关联。 所有Oracle 弹性 ASM存储仍与默认集群站点相关联,因为没有将现有磁盘组转换为扩展磁盘组的机制。 将集群转换为Oracle扩展集群后,表决文件成员资格保持不变,并不会被分层
此功能使Oracle数据库可以访问Oracle ASM磁盘组中的数据,而无需与基础磁盘的物理存储关联。 数据库对数据的访问将通过网络提供,类似于网络文件系统(NFS)服务器向NFS客户端提供数据的方式。
此功能使客户端群集不需要共享存储就可以访问磁盘组。
在12.2中,除了现有日志(主要关注报告错误情况)之外,集群资源活动日志还包含有关集群中的资源活动的信息。集群资源活动日志可用于跟踪集群中的资源行为,以及了解由计划或计划外的单个资源重定位触发的链式反应。
此功能将物理连接与逻辑服务分离,以使连接上的服务能够在请求边界切换到在该数据库和实例处发布的服务的另一个连接。以下两种合并用例取决于在物理连接上切换服务的能力:
从为多个租户服务的池借用连接时,用于多租户容器数据库访问的服务和容器切换
共享连接池以扩展数据库访问,Oracle数据库和第三方
这两个用例相交,但也可以在独立模式下使用。
此功能支持Oracle 多租户和传统的合并数据库,能减少所有数据库使用的会话开销。,消除了由于服务功能的损失而合并到多租户容器数据库的障碍。还消除了由于太多连接池和为这些租户服务的连接而导致的合并到几个数据库的障碍。此外,该功能还使应用程序能够使用更多数据库服务来进行工作负载控制,而无需使用额外的连接池,客户能够使用服务来识别和区分工作负载,而不需要过度调整数据库连接。
网格命名服务(GNS)链接到公司域名服务(DNS),以便客户端可以解析动态地址,并透明地连接到集群和数据中心中的数据库。共享GNS为一个集群提供动态名称解析,或者为多个集群公布解决方案,以便单个GNS实例可以为多个注册的集群执行名称解析。共享GNS高可用性(HA)使用辅助GNS实例为共享的GNS实例提供故障保护。
共享GNS高可用性通过运行具有主要和次要角色的GNS的多个实例,为客户端提供高可用性的查找和其他服务。客户端的所有更新都由主实例提供服务。查找查询由主实例和辅助实例处理。辅助实例充当主实例的备份。只要现有主实例出现故障或群集管理员将其删除,辅助实例就可以升级到主角色。此外,共享的GNS高可用性通过使用区域传输机制在辅助实例上采取数据备份来提供容错。辅助实例在安装期间从主实例接收数据的副本。此后,主实例上的任何更新都将复制到辅助实例。
资源组是应用程序高可用性建模中的一个基本实体。 它表示逻辑上相关的资源组的容器。使用资源组,Oracle Clusterware提供了一个直观的模型,以管理和监控由各种资源组成的应用程序作为单个复合实体。
在Oracle Clusterware需要从集群中逐出特定节点或一组节点的情况下,基于服务器基于权重的节点逐出可充当断裂机制,其中所有节点被逐出的可能性是一样的。 在这种情况下,服务器基于权重的节点逐出机制有助于通过服务器上的负载附加信息来识别要逐出的节点或节点组。 存在两种主要机制,系统固有的自动机制和基于用户输入的机制,以提供相应的指导。
使用基于服务器权重的节点逐出允许在集群中出现某些故障的情况下将哪个节点的选择与业务需求对齐,确保最重要的工作负载尽可能长时间保持活动,这里基于所有服务器有相同的决策权。
负载感知资源放置可防止使服务器超过能够运行的应用程序的负载超载, 基于应用程序的预期资源消耗以及服务器的容量 的CPU和内存,确定应用程序是否可以作为启动的一部分或作为故障转移的结果在给定服务器上启动的度量。
通过限制新应用程序启动来防止服务器重载,简化了高度整合的环境中的管理,并防止级联故障。
为了支持以应用程序为中心的Oracle Clusterware部署,Oracle Clusterware应用程序集群仅部署了运行非数据库应用程序所需的组件的Oracle Clusterware。
Oracle Clusterware应用程序集群为其他轻量级集群解决方案提供了一个替代解决方案,以简化Oracle Clusterware的采用和配置,以便通过请求用户输入仅管理和部署基于Oracle Clusterware的集群, 非数据库应用程序。
此功能支持Oracle ACFS插件的其他度量标准类型(Metric2), 使我们 能够检索文件内容指标。
此功能扩展了Oracle ACFS插件解决方案,以支持文件内容收集,并支持轮询和基于间隔的捕获。
在轮询模型中,应用程序轮询文件内容更改,Oracle ACFS返回摘要消息,标识哪些文件已更改,以及每个文件中更改的位置。
在基于区间的模型中,Oracle ACFS按选定的时间间隔发布包含文件内容更改的消息。
Oracle ACFS文件系统警告等待的应用程序API调用,然后应用程序会收集一组记录,这些记录标识哪些文件已更改,以及每个文件中更改的位置。此功能使我们能够扩展Oracle ACFS,以便为应用程序使用提供其他跟踪数据。
此功能通过在集群中的集线器节点和叶节点上分配一组运行OLTP工作负载的读/写实例以及一组只读数据库实例,使得Oracle Flex Cluster架构更完善。 在此体系结构中,读写实例上进行的更新会立即传播到Leaf节点上的只读实例,它们可用于在线报告或即时查询。
Oracle Flex Cluster架构中的OLTP和读取操作的分离允许快速重新配置加入和离开群集的只读实例,以及对这些实例上的缓冲区缓存的有效更新。
集群管理服务用于跨集群中运行的各种Oracle RAC数据库实例分配工作负载。 缓存在相应数据库实例的缓冲区高速缓存中的数据库对象通过这些服务访问。 此功能使Oracle RAC能够使用通过服务访问的对象的数据块来缓存实例,从而提高访问时间。
当在集群中运行的Oracle RAC数据库实例上访问数据时,数据相关的缓存会使得不同节点的响应时间一致。