无微不至:调整_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的必备素质。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2016-05-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木头编程 - moTzxx

踩坑筆記 —— ThinkPHP 框架下微信支付

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

832
来自专栏更流畅、简洁的软件开发方式

【自然框架】之通用权限(外传):杂谈

1、 简介、数据库的总体结构 2、 介绍人员表组 3、 介绍组织结构表组 4、 介绍角色表组 5、 介绍“项目自我描述表组” 6、 权限到节点 7、 权限到按...

1796
来自专栏程序员互动联盟

jAVA发展历程

1991 绿色计划 (Green Project) 1991年1月 一个名为“Green Project”的项目启动。该项旨在为家用电器提供支持,使这些电器智能...

37911
来自专栏听雨堂

【2】快速代码集的由来及概览

喜爱编程,尽管编程开发并非自己的主要工作,但多年来,也一直没有间断开发。既有工作单位的一些项目,也有纯粹自己的一些想法而做的程序(我的原创)。在使用C#开发各类...

1675
来自专栏杨建荣的学习笔记

insert导致的性能问题大排查(r11笔记第26天)

今天开发的同学小窗口消息给我,向我咨询一个ORA错误的问题。 错误代码是ORA-30036,使用oerr ora 30036查看,由于是undo空间无法扩展导致...

33315
来自专栏华章科技

如何用Python分析大数据(以Twitter数据挖掘为例)

本教程将会简要介绍何谓大数据,无论你是尝试抓住时机的商人,抑或是寻找下一个项目的编程高手,你都可以学到它是如何为你所用,以及如何使用Twitter API和Py...

493
来自专栏人工智能头条

如何在Kaggle上受到万人敬仰?

912
来自专栏杨建荣的学习笔记

数据同步中的误导(r7笔记第34天)

今天同事让我帮一个忙,说现在有两个环境中的一张表数据不一致,已经造成了一些数据问题,他们已经排查了一圈,最后发现是一张表的数据问题导致,希望我来帮忙协助一下。 ...

3398
来自专栏程序小工

【总结】两个月的工作任务总结

从 2018.4.2 工作以来,不知不觉已经工作两个多月,并在昨天约谈从这个月开始转正。从刚开始的自己学习,到逐渐接触公司的项目,并完成交付的功能模块,学到了很...

532
来自专栏大宽宽的碎碎念

如何深入理解开源项目从小代码集看起聚焦请先看文档关注资源的生命周期找一个好工具建立调试环境看代码很累,要坚持

3116

扫描关注云+社区