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.
-------------------------------
Keep in mind that any time you ask Oracle to manage more memory, more CPU is required to manage that memory. This is especially true with pre-Oracle9i systems because of the potential for extremely long memory chain heaps. If the chains are thousands of chunks long, while 4031 errors may subside, the situation can manifest into serious shared pool latch contention and massive CPU consumption while attempting to acquire the shared pool latch and also while scanning the long chains-so be careful.
If you are being, as the Oracle documentation states, liberated by automatic memory management, you may need to set a minimum shared pool size. In the quest to increase the buffer cache, Oracle has been known to automatically decrease the shared pool size so much that 4031 errors start occurring.
A common memory allocation challenge occurs when a relatively large package is initially being loaded into an already very active shared pool. The more active the shared pool, especially if it is small and has highly diverse object sizes, the more likely the required memory will not be found.
©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.
|