• 云和恩墨技术通讯:Oracle AMM自动内存管理引起数据库阻塞



    640?wx_fmt=png


    各位亲爱的用户/读者朋友们:


    为了及时共享行业案例,通告共性问题,达成知识共享和提前预防,我们整理和编辑了《云和恩墨技术通讯》(4月刊),通过对过去一段时间的知识回顾和故障归纳,以期提供有价值的信息供大家参考。

    同时,我们也希望能够将热点事件、新的产品特性及其他有价值的信息聚集起来,为您提供具有前瞻性的支持信息,保持对于当前最新的数据库新闻和事件的了解,其中包括重要数据库产品发布、警报、更新、新版本、补丁等。


    本期目录:

    • 新闻:2019年4月份数据库流行度排行版

    • 经验:低效应用脚本

    • 经验:AMM自动内存管理引起数据库阻塞

    • 频发:记DFS LOCK HANDLE等待的一次故障处理

    • 频发:不合理的序列CACHE值造成的性能故障

    • 警示:IBATIS 2.3.0同步锁bug导致大量STUCK线程

    • 预警:ORACLE近期关注之SCN问题

    • 问题:GES_PROCS资源限制导致ORA-00020

    • 问题:ENQ: TX – ROW LOCK CONTENTIION

    • 公告:墨天轮正式上线DB-RANK


    部分精选-AMM自动内存管理引起数据库阻塞


    Oracle 11g推出了自动内存管理(AMM)新特性,该特性引入后,虽然减轻了DBA手动设置共享内存的负担,但经常出现在shared pool和buffer cache之间发生频繁shrink/grow操作的现象,特别是shared pool的shrink操作,在一些高并发环境下,会刷出一批共享池对象,并间歇性持有shared pool latch,library cache lock等共享池的闩锁,从而引发数据库性能问题的风险,极端情况下,会导致数据库性能短时间内极速下降。


    在云和恩墨的数据库最佳实践中,对于高并发的数据库,都建议关闭自动内存管理(AMM)新特性,而是采用固定的shared pool和buffer cache内存设置。在此我们分享一个近期的客户案例,供大家参考。 


    问题描述


    当Oracle数据库使用自动内存管理(AMM)时,shared pool和buffer cache之间发生频繁的内存shrink/grow时有可能会引起数据库大量游标失效,随后的解析会导致大量library cache及cursor等待事件。近期在某数据库碰到这种情况,具体表现为故障时间段内数据库会话激增,并出现大量cursor解析类等待事件。


    640?wx_fmt=png


    并且,出现的主要等待事件如下图:


    640?wx_fmt=png


    这里,SGA: allocation forcing component growth等待,并伴随大量的library cache load/lock、cursor: mutex X/S等事件。SGA: allocation forcing component growth是内存自动增长的等待,其他等待事件主要为解析相关。大量的会话游标解析等待,但是并无明确阻塞源说明游标类等待是由于再次的SQL硬解析导致,这个很可能和自动内存管理有关。


    同时,在此期间,buffer cache和shared pool均发生了快速的伸缩抖动。


    640?wx_fmt=png


    可以看到,在19:09分时,shared pool内存从148,48M降低到14,336M,降低了500M, 为了腾出这500M,在高并发环境中,就会需要刷出一批共享池对象,并持有各种共享池的闩/锁,从而导致了性能问题。


    问题原因

    本库采用自动内存管理(AMM),在故障期间shared pool和buffer cache之间的内存shrink/grow,导致大量游标失效,随后的解析导致大量library cache及cursor等待事件。


    问题建议

    关闭自动SGA内存管理,sga_target=0,并根据环境设置适当的db_cache_size及shared_pool_size


    下载链接:https://cs.enmotech.com/docDownload/2789


    复制以上链接或者点击“阅读原文”抢先下载,下载需要注册墨天轮


    更多下载:


    云和恩墨大讲堂电子刊2019年4月刊发布

    春暖花开 学习启航 -《云和恩墨技术通讯》(3月刊)


    数据和云小程序『DBASK』在线问答,随时解惑  欢迎了解和关注。

    640?wx_fmt=png

    640?wx_fmt=png

    640?wx_fmt=png在线问答640?wx_fmt=jpeg即时回复

    资源下载

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

    2018DTCC , 数据库大会PPT

    2018DTC,2018 DTC 大会 PPT

    ENMOBK《Oracle性能优化与诊断案例》

    DBALIFE ,“DBA 的一天”海报

    DBA04 ,DBA 手记4 电子书

    122ARCH ,Oracle 12.2体系结构图

    2018OOW ,Oracle OpenWorld 资料

    产品推荐

    云和恩墨zData一体机现已发布超融合版本和精简版,支持各种简化场景部署,零数据丢失备份一体机ZDBM也已发布,欢迎关注。


    640?wx_fmt=jpeg


    云和恩墨大讲堂 | 一个分享交流的地方

    长按,识别二维码,加入万人交流社群


    640?wx_fmt=jpeg

    请备注:云和恩墨大讲堂

    你“在看”吗?

  • 相关阅读:
    angular ngIf指令 以及组件的输入输出
    angular 命令行指令总结
    angular8.x 事件的处理和样式绑定
    nodejs更新版本(windows)
    angular重要指令 ngFor
    emmet 常用总结
    手机真机调试 (ng项目)
    最长回文子串
    最长连续序列
    重复的子字符串
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13312106.html
Copyright © 2020-2023  润新知