重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
【TechTarget中国原创】本文是Oracle数据库12c新特性的系列文章的第三篇,作者将对集群,ASM以及RAC数据库新增和改进方面做一个广泛的介绍。相关阅读:Oracle 数据库12c新特性总结(一)、Oracle 数据库12c新特性总结(二)、Oracle 数据库12c新特性总结(四)
创新互联凭借在网站建设、网站推广领域领先的技术能力和多年的行业经验,为客户提供超值的营销型网站建设服务,我们始终认为:好的营销型网站就是好的业务员。我们已成功为企业单位、个人等客户提供了成都网站建设、网站建设服务,以良好的商业信誉,完善的服务及深厚的技术力量处于同行领先地位。第三部分包括:
1. ASM中的增强
2. 网格基础架构的增强
3. Oracle RAC的增强
1. 自动存储管理(ASM)中的增强
Flex ASM
在一个典型的网格基础架构安装环境中,每个节点都运行自身的ASM实例,并将其作为运行于此节点上数据库的存储容器。但这种设置会存在相应的单点故障危险。例如,如果此节点上的ASM实例发生故障,则运行于此节点上的所有数据库和实例都会受到影响。为了避免ASM实例的单点故障,Oracle 12c提供了一个名为Flex ASM的功能。Flex ASM是一个不同的概念和架构,只有很少数量的ASM实例需要运行在集群中的一些服务器上。当某节点上的一个ASM实例发生故障,Oracle集群就会在另一个不同的节点上自动启动替代ASM实例以加强可用性。另外,这一设置还为运行在此节点上的实例提供了ASM实例负载均衡能力。Flex ASM的另一个优势就是可以在单独节点上加以配置。
当选择Flex Cluster选项作为集群安装环境的第一部分时,鉴于Flex Cluster的要求,Flex ASM配置就会被自动选择。传统集群同样也适用于Flex ASM。当你决定使用Flex ASM时,你必须保证所需的网络是可用的。你可以选择Flex ASM存储选项作为集群安装环境的一部分,或是使用ASMCA在一个标准集群环境下启用Flex ASM。
以下命令显示了当前的ASM模式:
$ ./asmcmd showclustermode $ ./srvctl config asm |
或是连接到ASM实例并查询INSTANCE_TYPE参数。如果输出值为ASMPROX,那么,就说明Flex ASM已经配置好了。
ASM存储限制放宽
ASM存储硬性限额在大ASM 磁盘群组和磁盘大小上已经大幅提升。在 12c R1中,ASM支持511个ASM磁盘群组,而在11g R2中只支持63个。同样,相比起在11g R2中20 PB的磁盘大小,现在已经将这一数字提高到32 PB。
对ASM均衡操作的优化
12c 中新的EXPLAIN WORK FOR 语句用于衡量一个给定ASM均衡操作所需的工作量,并在V$ASM_ESTIMATE动态视图中输入结果。使用此动态视图,你可以调整POWER LIMIT语句对重新平衡操作工作进行改善。例如,如果你想衡量添加一个新ASM磁盘所需的工作量,在实际执行手动均衡操作之前,你可以使用以下命令:
SQL> EXPLAIN WORK FOR ALTER DISKGROUP DG_DATA ADD DISK data_005; SQL> SELECT est_work FROM V$ASM_ESTIMATE; SQL> EXPLAIN WORK SET STATEMENT_ID='ADD_DISK' FOR ALTER DISKGROUP DG_DATA AD DISK data_005; SQL> SELECT est_work FROM V$ASM_ESTIMATE WHERE STATEMENT_ID = 'ADD_DISK’; |
你可以根据从动态视图中获取的输出来调整POWER的限制以改善均衡操作。
ASM 磁盘清理
在一个ASM磁盘群组中,新的ASM磁盘清理操作分为正常或高冗余两个级别,它可以检验ASM磁盘群组中所有磁盘的逻辑数据破坏,并且可以自动对逻辑破坏进行修复,如果检测到有逻辑数据破坏,就会使用ASM镜像磁盘。磁盘清理可以在磁盘群组,特定磁盘或是某个文件上执行,这样其影响可降到最小程度。以下演示了磁盘清理场景:
SQL> ALTER DISKGROUP dg_data SCRUB POWER LOW:HIGH:AUTO:MAX; SQL> ALTER DISKGROUP dg_data SCRUB FILE '+DG_DATA/MYDB/DATAFILE/filename.xxxx.xxxx' REPAIR POWER AUTO; |
ASM的活动会话历史(ASH)
V$ACTIVE_SESSION_HISOTRY 动态视图现在还可以提供ASM实例的活动会话抽样。然而,诊断包的使用是受到许可限制的。
2. 网格(Grid)基础架构的增强
Flex 集群
Oracle 12c 在集群安装时支持两类配置:传统标准集群和Flex集群。在一个传统标准集群中,所有集群中的节点都彼此紧密地整合在一起,并通过私有网络进行互动,而且可以直接访问存储。另一方面,Flex集群在Hub和Leaf节点结构间引入了两类节点。分配在Hub中的节点类似于传统标准集群,它们通过私有网络彼此互连在一起并对存储可以进行直接读写访问。而Leaf节点不同于Hub节点,它们不需要直接访问底层存储;相反的是,它们通过Hub节点对存储和数据进行访问。
你可以配置多达64个Hub节点,而Leaf节点则可以更多。在Oracle Flex集群中,无需配置Leaf节点就可以拥有Hub节点,而如果没有Hub节点的话,Leaf节点是不会存在的。对于一个单独Hub节点,你可以配置多个Leaf节点。在Oracle Flex集群中,只有Hub节点会直接访问OCR和Voting磁盘。当你规划大规模的集群环境时,这将是一个非常不错的功能。这一系列设置会大大降低互连拥堵,并为传统标准集群提供空间以扩大集群。
部署Flex 集群的两种途径:
1. 在配置一个全新集群的时候部署
2. 升级一个标准集群模式到Flex集群
如果你正在配置一个全新的集群,你需要在步骤3中选择集群配置的类型,选择配置一个Flex集群选项,然后你需要在步骤6中对Hub和Leaf节点进行分类。对于每个节点,选择相应角色是Hub或是Leaf,而虚拟主机名也是可选的。
将一个标准集群模式转换为Flex 集群模式需要以下步骤:
1. 用以下命令获取集群的当前状态:
$ ./crsctl get cluster mode status |
2. 以root用户执行以下命令:
$ ./crsctl set cluster mode flex $ ./crsctl stop crs $ ./crsctl start crs –wait |
3. 根据设计改变节点角色:
$ ./crsctl get node role config $ ./crsctl set node role hub|leaf $ ./crsctl stop crs $ ./crsctl start crs -wait |
注意:
ASM磁盘群组中的OCR备份
对于12c,OCR现在可以在ASM磁盘群组中得以备份。这简化了通过所有节点对OCR备份文件的访问。为了防止OCR的恢复,你不必担心OCR最新的备份是在哪个节点上。可以从任何节点轻易识别存储在ASM中的最新备份并能很容易地执行恢复。
以下演示了如何将ASM磁盘群组设置为OCR备份位置:
$ ./ocrconfig -backuploc +DG_OCR |
支持IPv6协议
对于12c,Oracle是支持IPv6网络协议配置的。你现在可以在IPv4或IPv6上配置共有或私有网络接口,尽管如此,你需要确保在所有集群中的节点上使用相同的IP协议。
3. RAC数据库的增强
What-if命令评估
通过srvctl使用新的What-if命令评估选项,现在可以确定运行此命令所造成的影响。这一新添加到srvctl的命令,可以在没有实际执行或是不对当前系统做任何改变的情况下模拟此命令。这在想要对一个已存在的系统进行更改却对结果不确定的时候特别有用。这样,此命令就会提供进行变更的效果。而–eval 选项也可以通过crsctl 命令来使用。
例如,如果你想要知道停止一个特定数据库会发生什么,那么你就可以使用以下示例:
$ ./srvctl stop database –d MYDB –eval $ ./crsctl eval modify resource -attr “value” |
srvctl的改进
对于srvctl命令还有一些新增功能。以下演示了如何用这些新增功能停止或启动集群上的数据库或实例资源。
srvctl start database|instance –startoption NOMOUNT|MOUNT|OPEN srvctl stop database|instance –stopoption NOMOUNT|MOUNT|OPEN |
在本系列的第四篇文章中,作者将主要介绍Oracle数据库12c中最为重要的开发者特性。