Oracle DRM技术的变迁 (四)

oracle11g rac安装_oracle 11g中RAC常见的4个bug 概述今天分享下RAC实例崩溃的4个常见bug,下面版本适用于oracle 版本11.2.0.1 和更高版本,主要是做一个备忘,方便以后直接找解决方式。ORA-29770 LMHB终止实例官方解释1、报错:LMON (ospid:31216) waits for event 'control file sequential read' for 88 secs.Errors in file /Orac... 阅读详情

Oracle DRM技术的变迁 (四)

原文链接:   http://www.dbaleet.org/the_evolution_of_oracle_rac_drm_season_4/

这篇文章不打算做过多的描述,主要看图表说话:(当然反过来说图表也不一定代表事实,例如某声称用事实说话的节目不也经常借着这个幌子向全国人民撒下弥天大谎?)

如果您在metalink上,搜索DRM bug:会得到如下结果: (我仅仅只是截取了其中的很小的一部分)

drm bug

这些bug一来是数量多,而来危害大,我大致总结了下其结局包括以下四类:

数据库宕机,节点驱逐, 数据库挂起, ORA-00600。

以前在MOS上有一篇专门的文档, 列举了所有的与DRM相关的bug,不过这篇文章现在已经消失了,我已经不记得那个文档的ID了,只能列举一些非常早期的DRM bug列表(注意这个表格可以翻页):

Bug# Fixed Version Description
BUG:5031173 10106 10203 Instance terminated by LMON ORA-602
BUG:4755405 10106 10203 EXCESSIVE WAITS FOR "GCS DRM FREEZE IN ENTER SERVER MODE" IN GSIAT
BUG:4151363 10203 Drop / truncate slow in RAC
BUG:3659289 10105 10201 LMON can fail during remastering sync
BUG:4131113/4948950 10203 ORA-600[KJBMMCHKINTEG:FROM], [32], [32], [1], [1], [3995], [32768]
BUG:5208973 10106 10203 RAC may hang due to deadlock between LMS / MMAN latching
BUG:5414952/5106909 10203 LMS TERMINATING INSTANCE ORA-600 [KJBRASR:PKEY]
BUG:5600050 10204 11106 LMON DIED WITH ORA-600 [525] AND ORA-600
BUG:4903532 9208 10106 10203 RAC instance may be evicted as LMS may not process messages quickly enough
BUG:4639236 10203 OERI [kclcls_5] possible in RAC recreating an object
BUG:6500033 10205 11107 LMON crash the instance with ORA-481 due to DRM sync timeout
BUG:6501007 10204 In RAC a DRM sync timeout may occur due to failing to quiesce a local lock
BUG:6658484 10205 11107 Instance crash / OERI[kclexpand_5] from DRM in RAC
BUG:7905960 10201 THE SERVER PROCESS HANGS WITH 'GC CR REQUEST' FOREVER W/O ANY OTHER HOLDER
BUG:5190596 10204 11106 LMON dumps LMS0 too often during DRM leading to IPC send timout
BUG:6960699 10205 11107 INSTANCE CRASHED AFTER LMS1 ENCOUNTERED ORA-600 [KJBLDRMRPST:!MASTER
BUG:6378112 10205 11107 LMS can crash RAC instance with OERI[kjblpkeydrmqscchk:pkey]
BUG:8793912 11202 ORA-600[KJBCLOSE:ISDRM!] OCCURRED IN LMS LEADING TO INSTANCE DOWN
BUG:9448311 11202 BOTH INSTANCE DOWN WITH ORA-481

 

至于那个文档消失的原因, 我想MOS文档DRM – Dynamic Resource management [ID 390483.1]上给出了一句十分隐晦的原因:

DRM attributes are intentionally undocumented since they may change depending on the version. These attributes should not be changed without discussing with Support.

以下是截取的11g DRM引入的read mostly locking新特性的部分bug,当然你可以在MOS中搜索_gc_read_mostly_locking得到更加完整的信息。

read-mostly locking bugs

以下是截取的11g DRM引入的reader bypass新特性的部分bug,可以在MOS中搜索_gc_read_mostly_locking得到更加完整的信息。

reader-bypass

当然这些并不是DRM的全部关键字,还有一些隐藏得更深:例如pkey, timeout之类的。(一般人我不告诉他)

如果你说你要disable DRM, PM对此的回复是: We have made a lot of improvements that should make it unnecessary to disabled DRM.

Really???对于一个有看buglist习惯的人来说,至少目前这句话是不成立的。以下是最新版本的Oracle PSU中有关于DRM的bug。(没有办法列举,只选了几个有代表意义的)。

11.2.0.3.5
13732226 RAC node eviction dur to "TIMEOUT in DRM FREEZE step" or "SYNC TIMEOUT"
13399435 RAC instance eviction due to "TIMEOUT in DRM FREEZE step" or "SYNC TIMEOUT ..."

11.2.0.3.4
13397104 Instance crash with ORA-600 [kjblpkeydrmqscchk:pkey] or similar - superseded
14409183 ORA-600 [kjblpkeydrmqscchk:pkey] or similar / session hangs on "gc buffer busy acquire"

psu3
12879027 LMON gets stuck in DRM quiesce causing intermittent pseudo reconfiguration

有没有目前还没有修复的DRM的bug?

对不起,我只能回答“呵呵”了。

那么如何关闭DRM呢?(以下只提供方法,并不代表任何情况下都需要关闭这个功能, As a guru, you have to learn to chant the magic words “It depends” )

在10g中,可以采用如下方式禁用DRM(当然你也可以只禁用其中的一个模块object affinity或者undo affinity)

--disable object affinity
alter system set "_gc_affinity_time"=0 scope=spfile ;
--disable undo affinity
alter system set "_gc_undo_affinity"=FALSE  scope=spfile;

然后同时重启所有实例生效。

如果暂时无法重启实例,可以使用如下命令“事实上”禁用DRM:(以下两个参数可以动态调整)

alter system set “_gc_affinity_limit”=10000000;
alter system set “_gc_affinity_minimum”=10000000;

在11g中,同样可以使用如下方式禁用DRM:

alter system set "_gc_policy_time"=0 scope=spfile;

然后同时重启所有实例生效。如果不想完全禁用DRM,但是需要禁用read-mostly locking或者reader bypass的机制。可以使用如下命令:

--disable read-mostly locking
alter system set "_gc_read_mostly_locking"=false scope=spfile;
--disable reader-bypass
alter system set "_gc_bypass_readers"=false scope=spfile;

Sometimes dancing in a minefield could be an interesting  thing, couldn’t it? although it sounds  a little bit crazy.

未完待续

To Be Continued…

【信息科学与工程学】计算机科学与技术——第七十七篇 系统架构设计02 编号类型模型配方企业资本运作的方法/规则/条件/依据及所有的步骤(​风险处理/异常处理/危机应对关联知识法律法规和裁决依据​​由发起人(通常是知名投资人、投行或产业资本)先设立一个只有现金、无实际业务的特殊目的收购公司(SPAC),通过IPO募集资金并在交易所上市。然后在规定时间内(通常24个月)寻找一家非上市公司进行合并(De-SPAC),使目标公司迅速实现上市,规避传统IPO的复杂流程和不确定性。1.:在开曼或特拉华注册空壳公司,注入少量种子资金。2. 阅读详情

相关推荐

【信息科学与工程学】【数据中心】第三十五篇 云计算数据中心的学科知识04

编号学科(课程)核心知识点在云计算/云存储/云网络/云安全/云MaaS中的作用代表教材/资料/论文 + 数学方程式列表工业界应用D1421​云原生数据库:TiDB​HTAP(混合事务/分析处理)、分布式SQL、水平扩展、强一致(Raft)、自动故障恢复、与MySQL兼容、TiFlash列式引擎提供弹性扩展的分布式数据库;支撑高并发在线交易与实时分析教材:《TiDB in Action》PingCAP(2020) 论文:《TiDB: A Raft-based HTAP Database》(2017)

weixin_49199313的博客 233

Oracle DRM 问题初探

作者 | JiekeXu来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)如需转载请联系授权 |(个人微信 ID:JiekeXu_DBA)大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 Oracle DRM 问题初探,欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号,标星或置顶,更多干货第一时间到达!目 录DRM 简介DRM 原理简...

JiekeXu的博客 1821

基于YOLOv5的隧道衬砌缺陷智能检测系统

计算机视觉在工程检测领域正发挥越来越重要的作用,特别是目标检测技术通过深度学习算法实现了对复杂场景的智能分析。YOLOv5作为当前主流的目标检测框架,通过改进网络结构和训练策略,可以显著提升检测精度和效率。在隧道工程领域,结合通道注意力机制和多尺度特征融合技术,能够有效解决衬砌缺陷识别中的小目标检测难题。这种AI检测系统相比传统人工判读地质雷达图像,不仅将效率提升20倍,还能将识别准确率提高到92.3%,特别适用于3cm以上结构缺陷的自动化检测。系统通过深度可分离卷积等优化,实现了模型轻量化,便于在边缘计算

weixin_29064103的博客 306

oracle drm参数,DRM修隐藏参数达到停用

DRM的过程是十分迅速的,一般不会影响到RAC系统的应用。但是也存在一定的BUG,在10.2.0.3的版本之前可能出现Libary cache lock而导致实例挂起,这时可以考虑停用DRM,修改两个隐含参数即可:_gc_affinity_time=0_gc_undo_affinity=FALSEmetalink上Doc ID: 467777.1具体描述了这个truncate语句引发的案例。re...

weixin_35931397的博客 281

oracle 11宕机,Oracle 11.2.0.4.0 RAC下DRM导致单节点宕机

DRM的bug太多,所以建议直接关闭。alert日志:Errors in file /oracle/app/oracle/diag/rdbms/gg/gg1/trace/gg1_lmon_60688126.trc:ORA-29702: error occurred in Cluster Group Service operationNo connectivity to other instance...

weixin_39820226的博客 447

Oracle 19c RAC 为了避免一些不必要的bug设定参数

Oracle 19c RAC 为了避免一些不必要的bug设定参数

u011868279的博客 2133

read mostly locking

Normal 0 7.8 磅 0 2 false false false EN-US Z...

cti27515的博客 492

oracle drm阶段,Oracle DRM技术变迁

Oracle DRM技术变迁 ()这篇文章不打算做过多的描述,主要看图表说话:(当然反过来说图表也不一定代表事实,例如某声称用事实说话的节目不也经常借着这个幌子向全国人民撒下弥天大谎?)如果您在metalink上,搜索DRM bug:会得到如下结果: (我仅仅只是截取了其中的很小的一部分) 这些bug一来是数量多,而来危害大,我大致总结了下其结局包括以下类:数据库宕机,节点驱逐, 数据库挂起...

weixin_39840729的博客 184

oracle ipc技术,Oracle DRM技术变迁

这篇文章不打算做过多的描述,主要看图表说话:(当然反过来说图表也不一定代表事实,例如某声称用事实说话的节目不也经常借着这个幌子向全国人民撒下弥天大谎?)如果您在metalink上,搜索DRM bug, 将会得到如下结果: (我这里仅仅只是截取了其中的很小的一部分)这些bug一来是数量多,而来危害大,我大致总结了下其结局包括以下类:数据库宕机,节点驱逐, 数据库挂起, ORA-00600。以前在M...

weixin_35578185的博客 302

oracle drm参数,Oracle DRM技术变迁 (三)

DRMOracle文档没有记录的特性,因为Oracle的架构师认为这个优化应该对于用户来说是透明的,用户没有必要去知道这些细节, 所以故意不不公开的。但是由于10g这个版本由于采取的策略过于激进,导致10g因为DRM导致的宕机和节点驱逐的概率远远高于早期的版本。所以从11g开始,Oracle决定为DRM进行了大量的代码重写,并且重新优化了其架构,当然这一切还是在“偷偷摸摸”下进行的。这些架构中最...

weixin_42354933的博客 314

oracle gc remaster,Oracle DRM技术变迁 (五)

Oracle BDE team的Michael Polaski 写了一个用于诊断DRM问题的SQL脚本,此脚本可以用来收集所有DRM问题诊断所需要的信息,大幅简化了诊断DRM问题的流程。以下纯粹是从MOS文档Script to Collect DRM Information (drmdiag.sql) [ID 1492990.1] 中拷贝过来的。适用的版本为11.2.0.1+将以下脚本复制并保存...

weixin_39746552的博客 328

oracle drm参数,Oracle DRM技术变迁 (八)

在11.2.0.2以上的版本中,DRM的read mostly的功能同样也有一些细微的改进,但是这些改变都是背后“偷偷摸摸”进行的,不大可能能在oracle的官方文档或者支持网站中找到。首先一大改进叫做persistent read mostly,在以往的版本中, read mostly这个特性并不是可以持续的。换而言之,如果集群彻底的关闭或者重启,那么重启以前的read mostly就复位了,本...

weixin_33586886的博客 407

Oracle10g/11g动态、静态关闭DRM特性方法

10g动态关闭 其实动态关闭其实只是把DRM的条件放大,并不是真正的关闭 alter system set "_gc_affinity_limit=1000000 scope=both...

cuibaye0692的博客 1073

Oracle】什么是DRM,怎么关闭

DRM 分析及案例讲解 什么是DRM DRM(Dynamic Resource management)是oracle10.10.2里面推出来的一个新特性,一直到现在最新的12cR1,都存在,且bug非常多而著称。在10gR1 RAC是每个实例都有其自己的SGA和buffer cache。RAC为了确保这些块发生时的最大化性能,确保数据完整。每个缓冲区副本也称为缓存资源有一个主要的将做为

zclinux的博客 8747

【微信公众号】【深入解析】DRM和read-mostly locking

【深入解析】DRM和read-mostly locking 2016-11-09何剑敏 何剑敏 Oracle ACS华南区售后团队,首席技术工程师。多年从事第一线的数据库运维工作,有...

coco3600的博客 356

ORACLE 11GR2常用参数(含隐含参数)设置

一audit_trail 审计(Audit)用于监视用户所执行的数据库操作,审计记录可存在数据字典表,当数据库的审计是开启时,在语句执行阶段产生审计记录。由于审计表(AUD$)存放在SYSTEM表空间,因此为了不影响系统的性能,保护SYSTEM表空间,建议把AUD$移动到其他的表空间上,或者关闭审计。 参考命令:alter system set audit_trail='NONE' #INSTANCE# scope=spfile; 二_optimizer_adaptive_cursor...

Neviller_Ma的博客 2345

Oracle 19c RAC集群管理 ---------关键参数以及常用命令

【代码】Oracle 19c RAC集群管理 ---------关键参数。

weixin_63131036的博客 2429

Oracle parameters 调优

隐含参数 _undo_autotune 负责 undo retention(即 undo 段的保持时间)的自动调整,若由 Oracle 自动负责 undo retention,则 Oracle 会根据事务量来占用 undo 表空间,可能会形成 undo 表空间的争用,建议将其关闭。参数 _optimizer_null_aware_antijoin 是在 Oracle 11g 引入的新参数,它用于解决在反连接(Anti-Join)时,关联列上存在空值(NULL)或关联列无非空约束的问题。

jnrjian的博客 1211
上一篇: 热块争用的解决方法(原创)
下一篇: awr创建基线生成对比报告
badman250
博客等级 码龄17年 2390粉丝 1479原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值