My Oracle Support Banner

Javavm Component Invalid and ORA-04031 Reported for "java pool" (Doc ID 1448032.1)

Last updated on AUGUST 04, 2018

Applies to:

Oracle Database - Enterprise Edition - Version and later
Information in this document applies to any platform.
***Checked for relevance on 16-Jun-2017***


After making changes (such as installing Intermedia and Spatial) the JavaVM shows INVALID and numerous ORA-04031 erros occur especially in conjunction with any attempts related to java in the database (such as loading/creating a simple java stored procedure).

The alert log may show an error such as:

ORA-04031: unable to allocate 4096 bytes of shared memory ("java pool","JAVA$POLICY$SHARED$00000010SYS","joxlod exec hp","SROState")

And a trace file for the ORA-04031 may show a stack of:

dbms_java.longname('foo'); begin null; end;
parent=ADD34FA8 maxchild=01 plk=656538E8 ppn=n
cursor instantiation=629D51E0 used=1333643174
child#0(AA40866C) pcs=ADD351AC
clk=6407CE90 ci=A8DE4EE0 pn=AC5254F4 ctx=A7096B7C
kgsccflg=0 llk[629D51E4,629D51E4] idx=0
xscflg=c0100276 fl2=c020000 fl3=2a200c fl4=100
Frames pfr 7A172068 siz=240 efr 7A172018 siz=232
kxscphp 629DDEFC siz=1000 inu=0 nps=140
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst <- ksm_4031_dump <- ksmasg <- kghnospc <- kghalo
<- 6200A380 <- 62134060 <- 6200906D <- 6207B191 <- 621340A9
<- 62035791 <- 62035A43 <- 62036271 <- 62037DB8 <- 6212054C
<- 621A8AC8 <- 621A9455 <- 621A887E <- 621E4667 <- 621E4A0B
<- 621A8649 <- 6218CCA7 <- 620B67BE <- 620B6992 <- 61FF9B6C
<- 61FF4419 <- 61FF68DA <- joxldn <- VInfreq___PGOSF31 <- 0__kqlplslod
<- PGOSF309__kqlmcdl <- kqllod <- kglobld <- kglobpn <- kglpim
<- 620051D5 <- 62005FA6 <- 621B0C21 <- 6200906D <- 6207B191
<- 621B0C65 <- 620A525C <- 62114AD6 <- 6206929F <- 62069D16
<- 6206A159 <- 62156D50 <- 7A5A106C <- 7A60EA08

Memory Utilization of Subpool 1
Allocation Name Size
_________________________ __________
"free memory " 405312
"miscellaneous " 0
"joxs heap " 1463616
"joxlod exec hp " 23296896

the registry might report something similar to:

JServer JAVA Virtual Machine INVALID

Finally, the reported details in jvm_stats.log generated by running the script from <Note 456949.1> "Script to Check the Status of the JVM within the Database" shows a low java_pool_size ie 24M.


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.