在执行select语句的时候出现ORA-600 [kgmgchd1] 错误和ORA-4031错误
适用于:
Oracle Server - Enterprise Edition - Version: 10.1.0.5 and later [Release: 10.1 and later ]
本文档的信息适用于任何平台
症状
Sat Sep 18 03:02:44 2010
Errors in file /oracle/product/ora_5457.trc:
ORA-00600: internal error code, arguments: [kgmgchd1], [], [], [], [], [], [], []
Sat Sep 18 03:03:10 2010
Errors in file /oracle/product/admin/cjq0_1909.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 4096 bytes of shared memory ("shared pool","select job, nvl2(last_date, ...","Typecheck heap","kgghteInit")
部分调用堆栈可能含有
kgmgchd <- xtypls <- qctopls <- qctcopn <- qctcpqb <- qctcpqbl
调用堆栈会随着受影响的对象不同而改变
原因
这个故障的原因是依赖对象和无效对象的timestamp信息不匹配,它可能不是数据字典损坏问题。
这个依赖对象和无效对象的timestamp信息不匹配的问题也会导致升级和PLSAL验证的时候出错
解决方法
验证所有使用的对象是否无效。
错误
ORA-600[KGMGCHD1]; ORA-4031; ORA-604; ORA-4030