ORA-04031 for java even with large java pool size
As part of our continuous rebuild process we rebuild our oracle instance from scratch every 2 hours or so. As part of that build we compile a small number of java procedures and grant permissions on them. What I've noticed is that we need to continually expand the java_pool_size in the SGA to get the java stuff to rebuild. If we don't, we get things like
ORA-04031: unable to allocate 4032 bytes of shared memory ("java
pool","JAVA$POLICY$SHARED$0000853cSYS","joxlod exec hp","SROState")
ORA-06512: at "SYS.DBMS_JAVA", line 313
ORA-06512: at line 1
BEGIN dbms_java.grant_permission() calls and the like.
I have tried setting automatic shared memory management both on and off and flushing the shared pool. but to no avail.
The current settings I'm trying is with ASM off, total SGA 397Mb,
shared pool 136 Mb, Buffer cache 24Mb, Large pool 8Mb, java pool 228Mb. (As I said, we've been gradually increasing java pool size over time as this problem happened, but we're getting to the stage where the java pool size is eating up too much memory on the build machine as a whole).
I apologize if there is something obvious I'm missing here, as I'm more of a developer than a DBA but the oracle instance is an integral part of our continuous integration process. I'm running Oracle 10 release 1 on Linux
I think the problem is with buffer cache, 24MB.
Increase this to 150 MB and try again.
How much memory does the box have?
Click Here to Expand Forum to Full Width