04031, 00000, "unable to allocate %s bytes of shared memory (\"%s\",\"%s\",\"%s\,\"%s\")" // *Cause: More shared memory is needed than was allocated in the shared pool. // *Action: If the shared pool is out of memory, either use the // dbms_shared_pool package to pin large packages, // reduce your use of shared memory, or increase the amount of // available shared memory by increasing the value of the // INIT.ORA parameters "shared_pool_reserved_size" and // "shared_pool_size". // If the large pool is out of memory, increase the INIT.ORA // parameter "large_pool_size".ORA-4031 error is encountered when we do not have sufficient memory available in shared pool/large pool to service a memory request. But in actual ORA – 4031 can be encountered in any of these areas 1) Shared pool 2) Large Pool 3) Java Pool 4)Streams pool (new to 10g) Common Causes/Solutions>>>>The ORA-4031 can occur for many different reasons. Some possible causes are:
- SGA components too small for workload
- Auto-tuning issues
- Fragmentation due to application design
- Bug/leaks in memory allocations
For more on the 4031 and how this affects the SGA, see Note 396940.1 Troubleshooting and Diagnosing ORA-4031 Error>> > > Because of the multiple potential causes, it is important to gather enough diagnostics so that an appropriate solution can be identified. However, most commonly the cause is associated with configuration tuning. Ensuring that MEMORY_TARGET or SGA_TARGET are large enough to accommodate workload can get around many scenarios.
The default trace associated with the error provides very high level information about the memory problem and the "victim" that ran into the issue. The data in the default trace is not going to point to the root cause of the problem.
When migrating from 9i to 10g and higher, it is necessary to increase the size of the Shared Pool due to changes in the basic design of the shared memory area.
Note 270935.1 Shared pool sizing in 10g
NOTE: Diagnostics on the errors should be investigated as close to the time of the error(s)
as possible. If you must restart a database, it is not feasible to diagnose the problem until the database has matured and/or started seeing the problems again. Note 801787.1 Common Cause for ORA-4031 in 10gR2, Excess "KGH: NO ACCESS" Memory Allocation>>
|