Analyzing Oracle SGA Java Pool
Posted: November 4th, 2008 | Author: TnT Admin | Filed under: Analyze | Tags: Oracle | No Comments »
Oracle includes several application program interfaces and Java class libraries in order to facilitate the interaction of Java-based applications with Oracle databases. Oracle also allows you to dedicate a portion of the SGA, called Java Pool, as the location where session-specified Java code and application variables reside during program execution.
Similarly, like the Large Pool, the V$SGASTAT is used to determined the amount of memory allocated to Java Pool. The counters that we should be watching are as followed:
- V$SGASTAT: Java Pool bytes
What we want to see of the counters are:
- The value for free memory can be used to help tune the size of the Java Pool. If V$SGASTAT shows high or increasing values for free memory when compared to memory in use, you have probably over allocated space to the Java Pool. If you have low or decreasing values for free memory, you may need to consider increasing the Java Pool size.
The following queries will be used to determine the hit-ratio:
- SELECT name, bytes FROM V$SGASTAT WHERE pool = ‘java pool’;
(Source: OCP Oracle 9i Performance Tuning Study Guide)
For Oracle 10g, Oracle recommends the total required Java pool memory to range between 10 and 50MB for Dedicated Servers. While for Shared Servers, this could as large as more than 100MB.
Leave a Reply