李真旭(Roger)

云和恩墨西北区技术总监

Oracle ACE, ACOUG 核心会员

前不久某客户的一套核心数据库(10.2.0.4.12),据说每间隔一段时间就必须重启,因为会报ORA-04031 错误。

查询发现 shared pool 差不多 5G 的样子,其实 ges resource 消耗了差不多 3.5G shared pool 内存,也确实有些离谱了。

我们可以看到,ges resource 消耗的内存确实非常高。那么这里为什么 ges resource 消耗的内存这么高呢?

通过检查 v$resource_limit 发现存在有些异常,如下所示:

我们可以发现,ges_cache_ress 的 max 和 current 都很大,大的超乎想象。从现象来看,可以大致判断是 shared pool 中 cache 的 ges resource 没有及时回收,导致 ges resource占据的内存比较大。

想到这里,我心中产生了一个疑问,是否 Oracle 有相关隐含参数来控制这个资源回收的机制呢?我们知道 Oracle 通常都是这么干的,通过隐含参数来控制某项功能或机制。

搜下发现了2个相关的 bug,确实可能出现 ges resource 消耗内存很高的情况,最后产生ora-04031错误。

其中文档中提到了一个参数 _lm_cache_res_cleanup;通过调整该参数,来该表 ges resource 的回收机制;有可能避免这个情况。

方法好用不,要试试才知道,果断告知客户进行调整,然后观察几天后,发现 ges resource 的内存消耗得到了有效控制:

在未调整参数之前,重启实例1天,ges resource 就超过 300M了,然后逐渐攀升,直至出现问题。

备注:  bug 9026008,bug 10042937 跟该参数有关系,影响版本为11.1,11.2部分版本,大家可以阅读下。

总结:Oracle数据库的精细程度往往超越了大家的经验,几乎每一个微小的功能都存在着控制参数,遇到问题时,仔细分析,深入细节,最后从源头解决问题,是Oracle DBA的必备素质


本文出自数据和云公众号,原文链接

无微不至:调整_lm_cache_res_cleanup解决Shared Pool 的4031问题相关推荐

  1. oracle 调整shared pool,Oracle性能调整中的Shared pool tunning要点

    本文主要简述的是Oracle性能调整中Shared pool tunning要点,Shared pool tunning要点,在Oracle性能调整实际的相关操作中起到不可忽视的作用,以下的文章就是对 ...

  2. Shared pool内存块组成结构及4031错误原因分析

    这篇文章是参考甲骨论老相老师的教学视频所做的学习笔记: http://v.youku.com/v_show/id_XMzkyMDQ4MzUy.html 之前提到Shared pool的作用: Shar ...

  3. oracle 调整shared pool,Oracle设置Shared Pool的大小

    在oracle 10G或者11G版本中,如何合理设置shared pool大小,对oracle数据库的性能影响很大. Shared Pool的大小设置规则如下: 1.查到shared pool设置的合 ...

  4. 隐含参数与 Library Cache 与 Shared Pool Latch 原理

    现在每一个 Oracle DBA,很少有不知道隐含参数的.但至少在表面上,Oracle 是不支持将隐含参数用于数据库的.隐含参数通常用于救急,或者是作为 Oracle BUG 的临时解决方案(Work ...

  5. SHARED POOL 原理

    SHARED POOL 原理 由于shared pool中最重要的是library cache,所以本文主要讲解Library cache的结构,library cache latch,library ...

  6. oracle shared pool size,oracle 关于设置shared pool及sga大小

    本文参考了https://blog.csdn.net/xinzhan0/article/details/52461611?locationNum=2&fps=1 如何设置shared pool ...

  7. oracle shared pool size,SHARED_POOL_RESERVED_SIZE参数的设置及作用

    SHARED_POOL_RESERVED_SIZE参数的设置及作用 shared_pool_reserved_size: 该参数指定了保留的共享池空间,用于满足将来的大的连续的共享池空间请求.当共享池 ...

  8. 共享池 shared pool

    定义: 共享池( shared pool )是位于SGA中的一块内存区域,主要用于缓存SQL的执行计划.之所以叫共享,是由于该块内存区域可以被多个会话共享同一个执行计划.即,如果有一个会话执行了SQL ...

  9. atch: shared pool 优化探索

    首先来看赤裸裸的问题直击: Top 10 Foreground Events by Total Wait Time Event Waits Total Wait Time (sec) Wait Avg ...

最新文章

  1. Java循环读取文件夹下文件
  2. asp.net html5 缓存,ASP.NET 缓存有效时间设置解决思路
  3. EL:谁说N素含量高就不固氮了
  4. numpy常用函数(power、sum、tile、transpose等)
  5. hdfs 操作 入门api
  6. mysql mvcc实例讲解_轻松理解MYSQL MVCC 实现机制
  7. [摘录]第2章 中场谈判技巧
  8. 凸透镜成像实验软件_凸透镜成像6道例题(含详答)
  9. window 10及window7电脑前面耳机插孔没有声音,后面有声音
  10. 苍井空是如何勾搭上社交电商的? - 案例 - i黑马网
  11. 【数据结构】——逆波兰表达式
  12. 手把手教你:人脸识别的视频打码(基于opencv的人脸打马赛克)
  13. 古琴入门-古琴十大名曲-古琴教学——唐畅古琴
  14. 小米MIUI备份/小米助手数据通过BAK进行恢复 | 生成MIUI的descript.xml文件进行数据恢复 | 手动恢复MIUI备份/小米助手数据
  15. 第31章 MySQL 处理重复数据教程
  16. 清北学堂模拟赛d3t6 c
  17. layui请求加token_琴海森林 JFinal-layui 文档、资料、学习、API,token验证
  18. 可编程并行通信接口8255A
  19. python_matplotlib分别使用plot()和scatter()画散点图,以及如何改变点的大小
  20. 微信个性签名服务器维护,微信个性签名更改不了系统维护

热门文章

  1. PCA主成分分析_特征创建(数据挖掘入门与实践-实验8)
  2. [Jarvis OJ - PWN]——[XMAN]level4
  3. 简单易懂的 pwnable.kr 第二题[collision]Writeupt
  4. 截屏没有了_原来华为手机的截屏方法不止3种,用了这么久,现在才知道新玩法?...
  5. 树莓派+神经计算棒2实时人脸检测
  6. mysql 主备及时_MySQL高可用(二)主备延时如何解决?
  7. 总有个短信发来一行乱码_个别收到的短信乱码,有什么办法还原么。。。
  8. Drools与Spring集成 登录测试
  9. 本周ASP.NET英文技术文章推荐[02/25 - 03/03]
  10. VLC打开.264文件