JDBC Performance Issue Due to Garbage Collection

(Doc ID 786144.1)

Last updated on AUGUST 16, 2016

Applies to:

JDBC - Version to [Release 9.2 to 10.1]
Information in this document applies to any platform.


When using the Oracle JDBC driver, the insertRow() method in oracle.jdbc.rowset.OracleRow class explicitly invokes System.gc. In this case, the application will
invoke insertRow method for many times and keep doing Full GC and thus cause a performance bottleneck.

Java Stack Trace

"ExecuteThread: '61' for queue: 'default'" daemon prio=5 tid=0x8a25d8 nid=0x50 runnable[0x9b37e000..0x9b37fc68]
at java.lang.Runtime.gc(Native Method)
at java.lang.System.gc(System.java:718)
at oracle.jdbc.rowset.OracleRow.insertRow(OracleRow.java:554)
at oracle.jdbc.rowset.OracleCachedRowSet.insertRow(OracleCachedRowSet.java:2840)
at ksd.pm.rm.ejb.PMRM_CtrlBean.getColatAmt_HoldDetail(PMRM_CtrlBean.java:1232


Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms