ORA-600 KGHALO4 来自Heap Manager的错误

盖国强 2019-05-08
10
0 0
摘要:作为Oracle DBA,无时无刻不在与各种错误打交道,尤其是ORA-00600错误,在面对这些错误时,除了遭遇得来的经验之外,还要学会把握其中的共性,进而能够通过猜测和简单的推理做出初步的判断。

问题描述

作为Oracle DBA,无时无刻不在与各种错误打交道,尤其是ORA-00600错误,在面对这些错误时,除了遭遇得来的经验之外,还要学会把握其中的共性,进而能够通过猜测和简单的推理做出初步的判断。这是对于DBA最为基本的素质要求。这里记录的KGHALO4错误来自一个网友的汇报。

专家解答

我们可以通过猜测做出基本的判断:KGH 即 Kernel Genric Heap,如果加上一点积累和搜索,可以得出以下准确判定:Kernel Generic shared Heap manager.

ALO 即 Allocate ,这些提示表明,这是在分配共享内存堆时出现的错误,也就可以基本判定,这个错误不会带来数据损坏,大致可能和Shared Pool内存的分配相关。

接下来,如果可能,通过MOS可以获得一些帮助,判定是否是BUG引起的。

对于这则错误,MOS上的解释是:

DESCRIPTION:    

The recovery location must be nulled by the client.    

We are trying to allocate memory from the Shared Pool and the caller  has not passed a pointer whose value is null.  ARGUMENTS:   Arg [a] Memory pointer  

FUNCTIONALITY:   Heap Manager

Note 273721.1上列举了很多BUG,最常见的,与网友相符和的BUG是:4414666 ,这个BUG影响10.2.0.1,在10.2.0.2中被修正。

NOTE:4414666.8 Title: Bug 4414666 - OERI[KGHALO4] can occur on NUMA

一个临时解决方案是设置参数:

_enable_NUMA_optimization=FALSE

禁用NUMA,或者尝试设置更大的Shared Pool ,对于ASM实例,需要设置如下两个参数:

_enable_NUMA_optimization = FALSE 

_disable_instance_params_check = TRUE


「喜欢文章,快来给作者赞赏墨值吧」

评论

0
0
Oracle
订阅
欢迎订阅Oracle频道,订阅之后可以获取最新资讯和更新通知。
墨值排行
今日本周综合
近期活动
全部
相关课程
全部