On 7/11/06, John Dunn
I am running Oracle 10 R2 on linux with automatic memory management and
keep getting the following error :
ORA-04031: unable to
allocate 3888 bytes of shared memory ("shared pool","unknown object","sga
heap(1,0)","kglsim object batch"
Anyone else seen this?
Increase your shared pool size.
v$sgastat may report that there is plenty of memory, but you may still see errors.
250meg is considered by some to be the minimum allowable shared pool size on 10g.
Moving a database with minimal memory requirements to 10g (64bit) on linux required setting
the sga_target size to 400m, and the shared_pool_size to 250m.
This is a little more than double what the memory requirements were on 8i.
I have not tried to troubleshoot this down to a root cause, as it is all working at the moment.
(Yes, always other things to do)
You could also try going back to fully manual memory management.
ie. set sga_target to 0, and manually set db_cache_size, shared_pool_size...
Certifiable Oracle DBA and Part Time Perl Evangelist