oracle lms进程 内存,【案例】Oracle ges resource消耗内存高报错ORA-04031 MOS解决办法...
天萃荷净
Oracle研究中心案例分析:运维DBA反映Oracle数据库10.2.0.4.12每间隔一段时间就必须重启,运行一断时间报ORA-04031错误oracle ges res cache large of memory。
本站文章除注明转载外,均为本站原创: 转载自love wife & love life —Roger 的Oracle技术博客
本文链接地址: 通过调整_lm_cache_res_cleanup解决shared Pool问题
核心数据库(10.2.0.4.12),每间隔一段时间就必须重启,因为会报ORA-04031错误。查询发现shared pool差不多5G的样子,其实ges resource消耗了差不多3.5G shared pool 内存,也确实有些离谱了。
SQL> c/gcs/ges
1* select * from v$sgastat where name like 'ges%'
SQL> /
POOL NAME BYTES
------------ ------------------------------- ----------
shared pool ges big msg p 461440
shared pool ges resource hash seq tab 32768
shared pool ges shared global area 23928
shared pool ges regular msg buffers 1254008
shared pool ges enqueue multiple free 1280
shared pool ges res mastership bucket 4096
shared pool ges deadlock xid freelist 11264
shared pool ges resource pools 1984
shared pool ges recovery domain table 176
shared pool ges reserved msg buffers 8240008
shared pool ges big Oracle?о?????msg buffers 15936168
shared pool ges process array 1273272
shared pool ges enqueue max. usage pe 32
shared pool ges lmd process descripto 2760
shared pool ges process hash table 44000
shared pool ges enqueue cur. usage pe 32
shared pool ges ipc instance maps 384
shared pool ges lms process descripto 5520
shared pool ges resource 3696886168
shared pool ges deadlock xid hash tab 17800
shared pool ges resource hash table 1441792
shared pool ges scan queue array 176
我们可以看到,ges resource消耗的内存确实非常高。那么这里为什么ges resource 消耗的内存这么高呢?
通过检查v$resource_limit发现存在有些异常,如下所示:
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE
-------------------- ------------------- --------------- -------------------- -------------
ges_procs 181 439 1001 1001
ges_ress 0 0 27462 UNLIMITED
ges_locks 0 0 40358 UNLIMITED
ges_cache_ress 8559179 14625461 0 UNLIMITED
ges_reg_msgs 243 898 2750 UNLIMITED
ges_big_msgs 41 35280 1934 UNLIMITED
ges_rsv_msgs 0 0 1000 1000
SQL> select startup_time from v$instance;
STARTUP_TIME
-------------------
2015-10-26 05:02:04
我们可以发现,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的内存消耗得到了有效控制:
SQL> select * from v$sgastat where name like '%ges res%';
POOL NAME BYTES
------------------------ ----------------------------- ----------
shared pool ges resource hash seq tab 32768
shared pool ges res mastership bucket 4096
shared pool ges resource pools 1984
shared pool ges reserved msg buffers 8240008
shared pool ges resource 215312592
shared pool ges resource hash table 1441792
6 rows selected.
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
SQL> select startup_time from v$instance;
STARTUP_TIME
-------------------
2016-01-28 23:08:27
SQL> select sysdate from dual;
SYSDATE
-------------------
2016-02-03 10:24:17
有些人可能会说,才几天可能看不出来吧?实际上,之前客未调整之前,重启实例才1天,ges resource就超过300M了。
备注: bug 9026008,bug 10042937 跟该参数有关系,影响版本为11.1,11.2部分版本,大家可以阅读下。
--------------------------------------ORACLE-DBA----------------------------------------
最权威、专业的Oracle案例资源汇总之【案例】Oracle ges resource消耗内存高报错ORA-04031 MOS解决办法
oracle lms进程 内存,【案例】Oracle ges resource消耗内存高报错ORA-04031 MOS解决办法...相关推荐
- oracle 6508,【案例】Oracle报错ORA-06552 ORA-06553 ORA-006508解决办法
天萃荷净 Oracle研究中心案例分析:运维DBA反映Oracle数据库alert日志中出现大量ORA-06552 ORA-06553 ORA-006508报错,分析原因为存储过程异常导致,结合MOS ...
- oracle中00604,【案例】Oracle无法启动报错ORA-00604 ORA-01578官方解决办法
天萃荷净 Oracle研究中心案例分析:运维DBA反映Oracle数据库无法启动并报错ORA-00604 ORA-01578,分析原因为遇核心对象bootstrap$有坏块的解决办法.change b ...
- oracle报错1455,oracle_1455_错误解决办法
oracle 1455 错误解决办法 ORA-01455: 转换列溢出整数数据类型 在用 expuser/pwd@oraclesidfile=e:\abc530.dmp 导出oracleDmp时报错了 ...
- 12 c for. oracle rac,【案例】Oracle RAC FOR AIX搭建执行root.sh时两次报错的解决办法
天萃荷净 运维DBA反映在aix 5.3 ml6安装10.2.0.1 rac报错0509-036 Cannot load program crsctl.bin because of the follo ...
- oracle数据库报错代码,【案例】Oracle数据库dbv检查坏块时报错代码:6106解决办法...
[案例]Oracle数据库dbv检查坏块时报错代码:6106解决办法 时间:2016-10-24 21:02 来源:Oracle研究中心 作者:HTZ 点击: 次 天萃荷净 Oracle研 ...
- Oracle常见ORA错误及解决办法
Oracle常见ORA错误及解决办法 问题1 1.1 错误现象: EXP-00008: ORACLE error 1013 encountered ORA-01013: user requested ...
- Oracle 报错 28000原因和解决方法
Oracle 报错 28000原因和解决方法 使用PLSQL登录Oracle数据库时提示"ORA-28000:这个帐号被锁定". 出现这个问题的原因是:在Oracle databa ...
- 爱数oracle备份软件,oracle 11g更新补丁后,第三方软件爱数RMAN备份报错ALLOCATE CHANNEL...
1.故障现像: oracle 11.2.0.4数据库安装补丁包p28204707_112040_Linux-x86-64之后,使用爱数备份一体机备份ORACLE最后会报错失败,失败报错如下 2.问题分 ...
- Oracle EBS 销售订单发运后连接行程停靠站请求报错导致物料未出库,但单销售行已关闭并进入开票接口
Oracle EBS 销售订单发运后连接行程停靠站请求报错导致物料未出库,但单销售行已关闭并进入开票接口 在开发销售订单发运的程序时碰到如图所示的错误: 在分析一波可能出现的问题后定位到销售订单类型中 ...
最新文章
- LINUX 查找tomcat日志关键词
- android 比较两个list,比较两个List的内容是否相等
- OSPF中stub area配置实例
- 改进型的时钟置换算法-解惑
- 【Prince2科普】P2七大主题之商业论证
- ruby在类中访问@,类外访问调用方法
- 华为云数据库首席架构师:关于数据库他这样说……
- Spring集成CXF发布WebService并在客户端调用
- DayDayUp:2021年的自我总结
- vscode之parcel清空dist目录
- STM32相关手册使用记录
- MacOS Big Sur 11.5.1 (20G80) OC 0.7.1 / Cl 5138 / PE 三分区原版黑苹果镜像
- 仿真软件计算机配置,电脑配置关于ANSYS等仿真软件,AMDcpu可选择吗?
- DoS攻击原理和防御方法
- 接近开关 NPN 与 PNP的区别
- 记一个docker网络问题--network=host
- 【黑马程序员】vue学习笔记(未完)
- 介绍一下完整接收一帧数据的方法
- 论文查重会查新闻内容吗?
- Deepin系统下MATLAB中文字体乱码问题解决(加上字体美化)
热门文章
- component传值问题
- 阿里云时空数据库引擎HBase Ganos上线,场景、功能、优势全解析...
- python变量名区分大小写_Python变量名区分大小写,所以student和Student不是同一个变量。...
- 2021-07-10 arduino 用于矩阵键盘的 开源库函数 keypad.h使用说明
- 从传统企业到字节、美团、京东,再到拿下华为Offer,程序员的逆袭之路。
- 美本计算机专业,2016美国本科计算机cs专业排名
- 【挑战程序设计】- 2.5 图论(最短路、最小生成树)
- Python Pandas操作Excel表格文件:创建新表格,追加数据
- 如何关闭iOS系统自动更新提示?
- 曝光过度和曝光不足_过度思考,进化心理学和编程