在 Oracle RAC 中,多个节点之间需要能够正常通信来保持集群的一致性。当一个节点发生故障或者发生脑裂,节点因网络等原因不能与其他节点互通时,很可能会在集群重新配置的过程中被驱逐出去。

RAC 的重新配置包含两个层面,一个是集群层面的,在发生脑裂的时候一般是基于编号做节点驱逐;另一个是实例层面的,这时候是根据节点获得的 RR 锁的权限判断的。在12.2之前,通过以上两种方式的重新配置,系统可以通过规则和计算自动决定哪个节点将会被驱逐出去。

而从12.2开始,引入了基于权重的节点驱逐。

在官网对该功能的介绍如下:

在 Oracle Clusterware 需要从集群中驱逐特定节点或一组节点的情况下,基于服务器权重的节点驱逐作为一种决胜机制,在这种情况下,所有节点代表驱逐的平等选择。 在这种情况下,基于服务器权重的节点驱逐机制有助于基于有关这些服务器上的负载的附加信息来识别要驱逐的节点或节点组。 存在两种主要机制,即系统固有的自动机制和基于用户输入的机制,以提供相应的指导。

使用基于服务器权重的节点驱逐允许在集群中的某些故障与业务需求之间调整哪个节点被逐出的选择,确保最重要的工作负载尽可能长时间保持活动,假设服务器之间的相等选择。

也就是说,12.2中的节点驱逐不是有系统自动决定的,而是可以根据业务关系,做更精细的控制。避免自动模式下的偏差对核心业务的影响。

特性介绍

可以手动设置 Oracle RAC 集群故障恢复机制,在节点不能互相通信的时候,该机制就会生效,决定哪些节点会被驱逐出去。

在脑裂的情况下,当集群发生了网络分裂,会将集群的节点划分为若干个不相交的分组,集群管理软件会通过特定的规则将部分节点从集群中踢出去。一般来说,会把那些大量占用系统关键资源的节点踢出去。

可以通过向数据库实例或节点添加值来影响决策的结果,以便在 Oracle Clusterware 必须决定是驱逐还是终止时,会考虑这些因素并尝试确保所有关键组件都可用。 可以配置权重函数来为群集中的关键组件添加权重,从而在决定在解决裂脑情况时排除哪些节点时增加输入。

使用与配置

在一些场景下,用户可能希望确保特定的节点不会在基于默认的投票规则中被踢出去,或者是为了保持某些硬件特性,某些资源因为特定的数据库或服务而存活,因此引入基于权重的驱逐。 用户可以根据以下标准为特定节点,资源或服务分配权重:

  • 只将权重分配给由 administrator 管理的节点。

  • 可以将权重分配给已注册 Oracle Clusterware 资源的服务器或应用程序。

权重有助于协调不同组件的重要等级,并影响 Oracle Clusterware 在管理裂脑情况时所做的选择。 在其他关键因素相同的情况下,Oracle 集群件选择权重最高的的节点保留在集群中。

使用场景

可以为各种组件分配权重,如下所示:

  • 为数据库实例或服务分配权重,可以在添加数据库实例或服务时将 -css_critical yes 参数与 srvctl add 数据库或 srvctl add service 命令一起使用。 也可以使用 srvctl modify database 和 srvctl modify service 命令的参数。

  • 为非 ora.* 资源分配权重,请在添加或修改资源时使用 crsctl add resource 和 crsctl modify resource 命令的 “attr”CSS_CRITICAL = yes 参数。

  • 为服务器分配权重,请使用 crsctl set server 命令使用 -css_critical yes 参数。

Note:

  • 必须重新启动节点上的 Oracle Clusterware 堆栈以使配置生效。 这不适用于更改在无需重新启动资源的情况下生效的资源。

  • 如果从托管管理员更改策略管理环境或两者的混合环境,则已分配的任何权重都将被存储,但不会被考虑,这意味着除非重新配置集群,否则将不再应用或不予考虑回到管理员管理。

RAC 更多新特性介绍:

1、Oracle RAC Internals 12.2

2、5分钟速成Oracle 12.2 RAC 专家

资源下载

关注公众号:数据和云(OraNews)回复关键字获取

‘2017DTC’,2017DTC大会PPT

‘DBALIFE’,“DBA的一天”海报

‘DBA04’,DBA手记4经典篇章电子书

‘RACV1’, RAC系列课程视频及ppt

‘122ARCH’,Oracle 12.2体系结构图

‘2017OOW’,Oracle OpenWorld资料

‘PRELECTION’,大讲堂讲师课程资料

基于权重的节点驱逐 - Oracle RAC 12.2 新特性相关推荐

  1. Oracle 12.2新特性 | 基于权重的节点驱逐

    前言 在Oracle Clusterware需要从集群中逐出特定节点或一组节点的情况时,基于服务器权重的节点驱逐可充当断裂机制,通过服务器上的负载附加信息来识别要驱逐的节点或节点组.其中所有节点被驱逐 ...

  2. Oracle 12.2 新特性--PDB和CDB的字符集可以不一样

    Oracle 12.2 新特性--PDB和CDB的字符集可以不一样 在 12.1 中, PDB 的字符集与 root 容器必须保持一致,这样无形中造成了 PDB 迁移或者克隆的限制性.从 12.2 开 ...

  3. Oracle 12.2新特性掌上手册 - 第一卷 Availability

    编辑手记:12.2的发布,让很多技术爱好者迫不及待要尝尝鲜了,然而众多的新特性却可能让我们无所适从,为此我们节选12.2中一些重要的新特性,将在接下来的几期晨读中分享给大家,希望大家能够在12.2的应 ...

  4. Oracle 12.2 新特性:在线PDB数据库克隆(Pluggable Hot Clone)

    Oracle 12.2 新特性:在线PDB数据库克隆(Pluggable Hot Clone) 在Oracle 12c的多租户(Multitenant)特性中,可以通过灵活的克隆复制来创建PDB(Pl ...

  5. oracle exp 00006,Oracle 12.1新特性----使用RMAN从备份中实现recover table

    Oracle 12.1新特性----使用RMAN从备份中实现recover table 发布时间:2020-06-26 19:41:44 来源:51CTO 阅读:4750 作者:hbxztc 在Ora ...

  6. 解读Tom介绍的Oracle Database 12c的12个新特性

    在OOW 2012上Tom kyte介绍了Oracle新一代重量级数据库产品12c 的12个新特性, 目前Open World 2012的主要PDF都可以下载了,传送门在此:Search Conten ...

  7. Oracle 12.2 新特性: Online PDB relocate (PDB hot move)

    Oracle 12 . 2 新特性 : Online PDB relocate (PDB hot move) Relocating a PDB 是 Oracle 在 12C 中推出的一种新的数据迁移方 ...

  8. Oracle 19c和20c新特性最全解密

    本期为我们带来分享的嘉宾是 ACOUG 核心专家,Oracle ACE 总监 杨廷琨先生,本次嘉年华上,杨老师为我们带来题为:Oracle 19c 和 20c 的新特性解密 主题分享.下面,让我们跟随 ...

  9. Oracle APEX 系列文章7:Oracle APEX 18.1 新特性

    引言 千呼万唤始出来, Oracle APEX 18.1 新版本终于发布了,还不了解 Oracle APEX 是什么的同学请移步这里: Oracle APEX 系列文章1:Oracle APEX, 让 ...

最新文章

  1. 完成工作表-使用Google Spreadsheets作为数据后端
  2. 图论 ---- B. Graph Subset Problem (图中找k阶完全子图 or 找一个子集里面的点的度数都打过k)
  3. JFinal Nutz
  4. mysql innodb 数据复制_快速将InnoDB表复制到另一个实例
  5. heat 用法 示例
  6. muduo学习笔记 - 第2章 线程同步精要
  7. C# webbrowser 代理
  8. struts2核心配置
  9. svg mysql_SVG介绍
  10. R-CNN学习笔记2:Rich feature hierarchies for accurate object detection and semantic segmentation
  11. 税务会计实务【14】
  12. Java面试题大全(2023最新版)1500+大厂面试题附答案详解
  13. 2022 最值得学习的编程语言:Python 高人气,Ruby 薪水最优渥
  14. Pandoc中使用Reveal-js制作幻灯片
  15. 远程开机(外网WOL远程唤醒)
  16. ai字母组合发音规律_使用和尚ai的俄语字母分类
  17. 力扣股神之路动态规划
  18. oracle怎么备份bak文件,[转载]如何将sqlserver的bak文件中的数据还原到oracle数据库中...
  19. 【520521】程序员中的“芳心纵火犯”, 这就是面向对象编程吗?
  20. tvOS游戏开发系列(SpriteKit)之新建tvOS游戏项目(二)

热门文章

  1. Bootstrap导航条中组件的排列
  2. Linux手动释放缓存的方法
  3. 自定义滚动条,可解决火狐滚动条默认样式修改不了问题
  4. Makefile简易教程
  5. 大数据文本分析的应用场景有哪些?
  6. IntelliJ IDEA 2017新工具
  7. java设计模式2-观察者模式
  8. Color Cube – 国产的优秀配色取色工具
  9. 开发小计之判断输入字符串类型(正则表达式)
  10. Ubuntu 安装 Eclipse C/C++开发环境