Oracle日常问题处理
ORA-04031
环境:
DB:Oracle 11.2.0.1.0
OS:Windows Server 2008
问题现象:
数据库经常宕机,重启后没过几天又出现问题。
问题原因:
查看问题期间告警日志可知是由ORA-04031
报错引起数据库不可用:
ORA-04031: unable to allocate 2968 bytes of shared memory ("shared pool","insert into smon_scn_time (t...","sga heap(2,0)","call")
从对应的trace日志
中可以看到,
"
KGH: NO ACCESS
"
类型的内存占用了很大的空间。
如下文档解释了这个问题:
ORA-04031 in 11g & 11gR2, Excess "KGH: NO ACCESS" Memory Allocation ( Doc ID 1127833.1 )
这个类型的内存是当共享池和DB Cache
进行切换时的中间状态的内存,如果切换过于频繁,就会导致这种内存累积,并无法正常利用。
相关的Bug
一般在
11.2.0.2
或
11.2.0.3,11.2.0.4.0
版本修复;
并且从AWR
报告也可以看到,
Shared Pool Size
比
Buffer Cache
内存高很多,也能推测出可能是
AMM
内存自动管理出了问题。
解决方案:
从根本上解决:
1
升级到
11.2.0.4
版本
推荐的补充方案:
2
给
shared_pool_size
和
db_cache_size
设置一个最小值,减少内存自动切换的可能性
可选方案:
3
设置
alter system set "_memory_broker_stat_interval"=999;
强制规定最少999
秒切换一次。
相关文档:
ORA-04031
和
ORA-04030
经常容易搞混,可以看下面的文章了解更多关于
ORA-04031
和
ORA-04030
错误。
ORA-4031 错误故障排除与诊断[视频] (Doc ID 2016002.1)
OERR: ORA-4031 "unable to allocate %s bytes of shared memory ("%s","%s","%s")" (Doc ID 4031.1)
诊断并解决 ORA-4030 错误 (Doc ID 1548826.1)
欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!!
Oracle日常问题处理ORA-04031
来源:这里教程网
时间:2026-03-03 15:02:48
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle日常问题处理ORA-04031
Oracle日常问题处理ORA-04031
26-03-03 - Oracle日常问题-数据库无法启动(案例一)
Oracle日常问题-数据库无法启动(案例一)
26-03-03 - ACE(04):我的 2020 年 ACE 计划
ACE(04):我的 2020 年 ACE 计划
26-03-03 - ORA-07445: exception encountered: core dump [kglic0()+774]
- 2020 从新开始:你应该知道的Oracle认证新变化
2020 从新开始:你应该知道的Oracle认证新变化
26-03-03 - Oracle 12C新特性-数据泵新参数(VIEWS_AS_TABLES)
- 直播预告丨先睹为快!Oracle 20c新特性解析 - 2020云和恩墨大讲堂
- startup 启动报错
startup 启动报错
26-03-03 - 5-10年的DBA如何独当一面?这10个建议送给你(附图书工具推荐)
5-10年的DBA如何独当一面?这10个建议送给你(附图书工具推荐)
26-03-03 - Oracle 12C升级到18C
Oracle 12C升级到18C
26-03-03
