Java Virtual Machine Parameters
are four parameters, which directly control the JVM:
Shared_pool_size is thememory used by the class loader during the
loading and resolving Java classes (jars). Shared Pool memory requirements for
class load are 8KB per class.
Java load procedure (initjvm.sql) loads quite large number of the classes so
recommended settings for shared_pool_size is around 50MB.
Java_pool_size parameter is theamount
of memory allocated by the JVM memory manager for all session-specific Java
code and data. Memory
is not allocated at once, but in chunks during runtime. For dedicated database
connections, Java pool is used for a shared part of each Java class. In
addition, for MTS database connections, Java pool is used for some per session
UGA memory (static session variables).
Java_soft_sessionspace_limitparameterdefines the Java
memory soft limit for the session, allocated at session startup. The default
value is 1MB. When the session exceeds this size, a trace file is generated.
Java_max_sessionspace_size parameter defines the Java memory hard limit for the
session. When the session exceeds this value, the session will be closed with
an error "ORA-29554 Unhanded Java
out of memory condition".
Java_max_sessionspace_limit is a
hidden parameter with a value ranging from 0 to 4Gb; the default value is 4GB.
Version 8.X had a bug in which any attempt to start-up the database with more
than 2GB for Java_max_session_space would fail.
When the Java option is not used, java_pool_size
can be resized to the minimal value (1MB on version 8.1.5 and 32Kb on versions
8.1.6 and 8.1.7).
Oracle database version 9.01 needs a larger java_pool_size because some
database level triggers use the java pool for execution after every CREATE or ALTER database
and recommended JVM related database memory parameters:
shared_pool_size >= 60Mb -> recommended 65 MB
java_pool_size>= 30Mb -> recommended 50 MB
java_soft_sessionspace_limit=0 -> meaning default 1 MB is used,
java_max_sessionspace_size=0 -> meaning default of 4GB is used