Ora-04031 error with high NETWORK BUFFER in shared pool. (Doc ID 872643.1)

Last updated on DECEMBER 09, 2011

Applies to:

Oracle Server - Enterprise Edition - Version: 11.1.0.6 and later   [Release: 11.1 and later ]
Information in this document applies to any platform.

Symptoms

When trying to run RMAN backup the following error occur  (It might occur during other operations and is not predicated on RMAN running):

ORA-04031: unable to allocate 36424 bytes of shared memory ("shared pool","unknown object","sga
heap(1,1)","krbmror")



1. The DISPATCHERS parameter has been set for XDB as below:

dispatchers = "(PROTOCOL=TCP) (SERVICE=compdataXDB)"

2. The trace file and output from v$sgastat shows high allocation under "NETWORK BUFFER" component of shared pool:

Trace file:
~~~~~~~~
Allocation request for: NETWORK BUFFER
Heap: 000000000FA7E6D8, size: 32832

Subpool 1
----------------
"free memory " 152960736
"NETWORK BUFFER " -1536212680 <== the negative value indicates over 2G used, reported incorrectly in trace file due to unpublished Bug 7258873

v$sgastat:
~~~~~~~
SQL> select * from v$sgastat where pool like 'shared%' order by bytes;
POOL NAME BYTES
------------ -------------------------- ----------
shared pool free memory 139557432
shared pool NETWORK BUFFER 7053951568 ----> High

3. The alert log shows many errors as below:

dispatcher 'D000' encountered error getting listening address
ORA-108 : opidrv aborting process D000 ospid (1876_3744)
Process debug not enabled via parameter _debug_enable
found dead dispatcher 'D000', pid = (19, 136)

4. After a restart of database the instance will be fine but after period of time the NETWORK BUFFER component keeps growing excessively.

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