ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

【DB笔试面试717】在Oracle中,RAC的脑裂和健忘分别指的是什么?

2021-04-15 11:04:06  阅读:169  来源: 互联网

标签:RAC 717 DB 脑裂 集群 健忘 Oracle OCR 节点


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

题目部分

在Oracle中,RAC的脑裂和健忘分别指的是什么?

     

答案部分

(一)脑裂(SplitBrain)

在集群中,节点间通过心跳来了解彼此的健康状态,以确保各节点协调工作。假设只有“心跳”出现问题,但各个节点还在正常运行,这时,每个节点都认为其它的节点宕机了,自己才是整个集群环境中的“唯一健在者”,自己应该获得整个集群的“控制权”。在集群环境中,存储设备都是共享的,这就意味着数据灾难。简单点说,就是如果由于私有网络硬件或软件的故障,导致集群节点间的私有网络在一定时间内无法进行正常的通信,这种现像称为脑裂。在发生脑裂情况后,集群的某些节点间的网络心跳丢失,但磁盘心跳依然正常,集群根据投票算法(Quorum Algorithm)将不正确的节点踢出集群。磁盘心跳的主要目的是当集群发生脑裂时可以帮助指定脑裂的解决方案。

私网网络不能正常通信有一个超时时间,称为MC(Misscount),默认为30s(通过命令“crsctl get css misscount”查询)。该时间允计集群节点间不能正常通信的最大时间为30s,如果超过30s,那么Oracle认为节点间发生了脑裂。在出现脑裂后,集群的重要任务就是保证错误节点与正确节点间的I/O是隔离的,这样才能避免对数据造成不一致的损坏。处理这个问题的方法就是:踢出错误节点执行修复过程。

(二)健忘(Amnesia)

集群环境的配置文件不是集中存放的,而是每个节点都有一个本地副本,在集群正常运行时,用户可以在任何节点更改集群的配置,并且这种更改会自动同步到其它节点。健忘是由于某个节点更新了OCR(Oracle Cluster Registry,Oracle集群注册)中的内容,而集群中的另外一些节点此时处于关闭、维护或重启阶段,OCR Master进程来不及将其信息更新到这些异常节点缓存而导致的不一致。譬如,A节点发出了添加OCR镜像的命令,在这个时候B节点处于重启阶段。重启后A已经更新完毕,而此时B并不知道已经为OCR增加了一个新的镜像磁盘,健忘由此而生。OCR用于解决健忘问题。


标签:RAC,717,DB,脑裂,集群,健忘,Oracle,OCR,节点
来源: https://blog.51cto.com/lhrbest/2707646

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有