ORA-4031 and large allocation of "kwqmncal: allocate buffer" in shared pool (Doc ID 1071074.1)

Last updated on MARCH 05, 2010

Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.2.0.1 - Release: 10.2 to 11.2
Information in this document applies to any platform.

Symptoms

Error reported in trace file or alert log:
ORA-04031: unable to allocate 4080 bytes of shared memory ("shared pool",
"unknown object","sga heap(1,0)","kwqmncal: allocate buffer")

The 4031 trace file shows high memory usage for heap allocations of type "kwqmncal: allocate buffer".
This type of allocation is used with AQ feature.

Memory Utilization of Subpool 1
================================
Allocation Name Size
_________________________ __________
kwqmncal: allocate buffer            777,596,512 <== shows high value
free memory                               48,305,232


In this case jobs were also failing with ORA-04063.
Job trace files show error on trying to run job:

error 4063 happened during job cache initialization


The view DBA_ERRORS showed ORA-04063 occurring on queue tables:

select * from DBA_ERRORS
where text like '%4063%';

AQ$QUEUE_TABLE2 ORA-04063: table "QUEUE_TABLE2" has errors




Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms