Hi,
I have a JDBC program connecting to Oracle 9i Database using
connection pool. What we observed is, when we continously send queries
and Insert request, the memory is increasing continously and stabilises
after some 100 run.
The scenario is like this.
1. We prepare the query
2. execute it
3. Cache the prepared query
4. Close resultset
This is same for insert and read.
But for 10 connections in the pool nad cache size of query 50, the
memory stabiliases around 110MB.
We tested the same scenario(same tables, same connections, same data)
with MySQL and SQLServer using JDBC drivers. The memory is not
increasing.
We checked the memory using JProbe. What we found is
1. 64% of the memory is consumed by byte[] allocated inside Oracle JDBC
driver.(Exactly , it is allocated by
oracle.jdbc.dbaccess.DBItem.clone())
2. 27% of the memory is consumed by Objects of class TTCItem of Oracle
driver.
Waht will be the reason?
Anybody observed such a scenario?
Any help will be appreciated?
REgards
sjohn
Robert Klemme - 13 Apr 2006 12:26 GMT
> Hi,
> I have a JDBC program connecting to Oracle 9i Database using
[quoted text clipped - 22 lines]
> 2. 27% of the memory is consumed by Objects of class TTCItem of Oracle
> driver.
What exactly do you mean by item 3 above? Do you store the
PreparedStatement with the Connection?
robert