绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
ORA-00600: \[KGL-heap-size-exceeded]告警分析处理过程
2021-06-28 12:36:37



告警信息如下:
Memory Notification: Library Cache Object loaded into SGA
Heap size 512006K exceeds notification threshold (51200K)
Details in trace file /oracle/diag/rdbms/xxxx4/xxxx43/trace/xxxx43_ora_300669.trc
2021-06-27T05:43:00.601195+08:00
KGL object name :select vservicesr0_.SERVICEID as SERVICEID7_, vservicesr0_.SERVICENAME as SERVICEN2_7_, vservicesr0_.SERVICEFULLNAME as SERVICEF3_7_, vservicesr0_.REALURL as REALURL7_, vservicesr0_.SOAPURL as SOAPURL7_, vservicesr0_.INREALURL as INREALURL7_, vservicesr0_.INSOAPURL as INSOAPURL7_, vservicesr0_.SERVICETYPE as SERVICET8_7_, vservicesr0_.FULLPERMISSION as FULLPERM9_7_, vservicesr0_.FUNCTIONTYPE as FUNCTIO10_7_, vservicesr0_.CAPABILITIES as CAPABIL11_7_, vservicesr0_.CLUSTERCODE as CLUSTER12_7_, vservicesr0_.CL
Errors in file /oracle/diag/rdbms/xxxx4/xxxx43/trace/xxxx43_ora_300669.trc (incident=324889):
ORA-00600: ÄÚ²¿´íÎó´úÂë, ²ÎÊý: [KGL-heap-size-exceeded], [0x0FA0E4EC0], [0], [524294800], [], [], [], [], [], [], [], []
Incident details in: /oracle/diag/rdbms/xxxx4/xxxx43/incident/incdir_324889/xxxx43_ora_300669_i324889.tr


首先分析这个告警是“Memory Notification”也就是内存通知消息,不是warning,所以这个问题应该不会影响数据库或者进程正常
运行。这个功能是10gR2引入的内存管理和事件消息通知机制。共享池中存放的对象超过了引擎设置的门限值,则告警提示。
由于目前没有报4031错误,可以不考虑共享池大小问题。

我们查询这个两个参数的大小。

SQL> select nam.ksppinm name,nam.ksppdesc description ,val.ksppstvl from x$ksppi nam,x$ksppsv val
where nam.indx = val.indx and nam.ksppinm like '%kgl_large_heap_%_threshold%';

NAME
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
KSPPSTVL
--------------------------------------------------------------------------------
_kgl_large_heap_warning_threshold
maximum heap size before KGL writes warnings to the alert log
52428800

_kgl_large_heap_assert_threshold
maximum heap size before KGL raises an internal error
524288000

NAME
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
KSPPSTVL
--------------------------------------------------------------------------------
这个两个参数的解释比较清楚,_kgl_large_heap_warning_threshold是告警阀值,_kgl_large_heap_assert_threshold是heap的大小
告警阀值。

从告警看,确实是这个问题:
Heap size 512006K exceeds notification threshold (51200K)

修改两个隐藏参数解决
SQL> alter system set "_kgl_large_heap_warning_threshold"=524288000 scope=both;  <<<<<<告警阀值

System altered.

SQL> alter system set "_kgl_large_heap_assert_threshold"=524288000 scope=both;  <<<<<<大小阀值

System altered.

修改效果
SQL> select nam.ksppinm name,nam.ksppdesc description ,val.ksppstvl from x$ksppi nam,x$ksppsv val
where nam.indx = val.indx and nam.ksppinm like '%kgl_large_heap_%_threshold%';

NAME
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
KSPPSTVL
--------------------------------------------------------------------------------
_kgl_large_heap_warning_threshold
maximum heap size before KGL writes warnings to the alert log
524288000

_kgl_large_heap_assert_threshold
maximum heap size before KGL raises an internal error
524288000

NAME
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
KSPPSTVL
--------------------------------------------------------------------------------




分享好友

分享这个小栈给你的朋友们,一起进步吧。

Oracle运维新鲜事-技术与管理各占半边天
创建时间:2020-08-04 11:34:57
本技术栈旨在分享技术心得,运维趣事,故障处理经验,调优案例,故障处理涉及集群,DG,OGG,大家生产中遇到的问题基本都会囊括了,我会发布生产库遇到的故障,希望在交流中互助互益,共同提高,也希望大家讨论,如果您有生产中遇到的集群问题,也可以在这里提出来,一起讨论,现实中也帮助不少同学解决了生产库的故障。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • Abraham林老师
    栈主
  • 小雨滴
    嘉宾
  • hawkliu
    嘉宾
  • u_97a59a25246404
    嘉宾

小栈成员

查看更多
  • 栈栈
  • dapan
  • 小菜鸟___
  • hwayw
戳我,来吐槽~