My Oracle Support Banner

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

Last updated on SEPTEMBER 26, 2019

Applies to:

Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Oracle Database Cloud Service - Version N/A and later
Oracle Database - 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.
NOTE: In the images and/or the document content below, the user information and data used represents fictitious data.
Any similarity to actual persons, living or dead, is purely coincidental and not intended in any manner.

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_TABLENAME> ORA-04063: table "<QUEUE_TABLENAME>" has errors




Cause

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Cause
Solution


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.