无微不至:调整_lm_cache_res_cleanup解决Shared Pool 的4031问题
李真旭(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问题相关推荐
- oracle 调整shared pool,Oracle性能调整中的Shared pool tunning要点
本文主要简述的是Oracle性能调整中Shared pool tunning要点,Shared pool tunning要点,在Oracle性能调整实际的相关操作中起到不可忽视的作用,以下的文章就是对 ...
- Shared pool内存块组成结构及4031错误原因分析
这篇文章是参考甲骨论老相老师的教学视频所做的学习笔记: http://v.youku.com/v_show/id_XMzkyMDQ4MzUy.html 之前提到Shared pool的作用: Shar ...
- oracle 调整shared pool,Oracle设置Shared Pool的大小
在oracle 10G或者11G版本中,如何合理设置shared pool大小,对oracle数据库的性能影响很大. Shared Pool的大小设置规则如下: 1.查到shared pool设置的合 ...
- 隐含参数与 Library Cache 与 Shared Pool Latch 原理
现在每一个 Oracle DBA,很少有不知道隐含参数的.但至少在表面上,Oracle 是不支持将隐含参数用于数据库的.隐含参数通常用于救急,或者是作为 Oracle BUG 的临时解决方案(Work ...
- SHARED POOL 原理
SHARED POOL 原理 由于shared pool中最重要的是library cache,所以本文主要讲解Library cache的结构,library cache latch,library ...
- oracle shared pool size,oracle 关于设置shared pool及sga大小
本文参考了https://blog.csdn.net/xinzhan0/article/details/52461611?locationNum=2&fps=1 如何设置shared pool ...
- oracle shared pool size,SHARED_POOL_RESERVED_SIZE参数的设置及作用
SHARED_POOL_RESERVED_SIZE参数的设置及作用 shared_pool_reserved_size: 该参数指定了保留的共享池空间,用于满足将来的大的连续的共享池空间请求.当共享池 ...
- 共享池 shared pool
定义: 共享池( shared pool )是位于SGA中的一块内存区域,主要用于缓存SQL的执行计划.之所以叫共享,是由于该块内存区域可以被多个会话共享同一个执行计划.即,如果有一个会话执行了SQL ...
- atch: shared pool 优化探索
首先来看赤裸裸的问题直击: Top 10 Foreground Events by Total Wait Time Event Waits Total Wait Time (sec) Wait Avg ...
最新文章
- Java循环读取文件夹下文件
- asp.net html5 缓存,ASP.NET 缓存有效时间设置解决思路
- EL:谁说N素含量高就不固氮了
- numpy常用函数(power、sum、tile、transpose等)
- hdfs 操作 入门api
- mysql mvcc实例讲解_轻松理解MYSQL MVCC 实现机制
- [摘录]第2章 中场谈判技巧
- 凸透镜成像实验软件_凸透镜成像6道例题(含详答)
- window 10及window7电脑前面耳机插孔没有声音,后面有声音
- 苍井空是如何勾搭上社交电商的? - 案例 - i黑马网
- 【数据结构】——逆波兰表达式
- 手把手教你:人脸识别的视频打码(基于opencv的人脸打马赛克)
- 古琴入门-古琴十大名曲-古琴教学——唐畅古琴
- 小米MIUI备份/小米助手数据通过BAK进行恢复 | 生成MIUI的descript.xml文件进行数据恢复 | 手动恢复MIUI备份/小米助手数据
- 第31章 MySQL 处理重复数据教程
- 清北学堂模拟赛d3t6 c
- layui请求加token_琴海森林 JFinal-layui 文档、资料、学习、API,token验证
- 可编程并行通信接口8255A
- python_matplotlib分别使用plot()和scatter()画散点图,以及如何改变点的大小
- 微信个性签名服务器维护,微信个性签名更改不了系统维护
热门文章
- PCA主成分分析_特征创建(数据挖掘入门与实践-实验8)
- [Jarvis OJ - PWN]——[XMAN]level4
- 简单易懂的 pwnable.kr 第二题[collision]Writeupt
- 截屏没有了_原来华为手机的截屏方法不止3种,用了这么久,现在才知道新玩法?...
- 树莓派+神经计算棒2实时人脸检测
- mysql 主备及时_MySQL高可用(二)主备延时如何解决?
- 总有个短信发来一行乱码_个别收到的短信乱码,有什么办法还原么。。。
- Drools与Spring集成 登录测试
- 本周ASP.NET英文技术文章推荐[02/25 - 03/03]
- VLC打开.264文件