You were brought to this page based on an internet search
and as a free service to Oracle DBAs.
The text below is an except from the book,
Oracle Performance Firefighting, written by
Craig Shallahamer of
OraPub, Inc.
Figures and tables are not included on this page, only their reference.
To order the book in either print or PDF form, click
here.
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut of respect for those involved in the creation of the book and also for
their familes, we ask you to respect the copyright both in intent and deed. Thank you.
-------------------------------
ORA-04031: unable to allocate 4192 bytes of shared memory ("shared pool","SELECT * F...","sql area (6,0)","kafco : qkacol"):4031:375:2008:ocicon.c
In this snippet, 4KB of memory was trying to be allocated in subpool 6, but for some reason, this could not be accomplished. Fortunately, there are a number of ways to reduce the likelihood of receiving the dreaded 4031 error.
As with resolving shared pool latch contention, one solution to 4031 errors is to flush the shared pool. While no DBA wants to admit to periodically flushing a shared pool,4 this still works. Depending on the Oracle release, the amount of allocated shared pool memory, and the application's unique memory usage pattern, it may be your best bet. This is especially true for pre-Oracle 9i systems.
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut of respect for those involved in the creation of the book and also for
their familes, we ask you to respect the copyright both in intent and deed. Thank you.
|