AppletTalk.com Forum Index AppletTalk.com
Java discussions newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Memory shooting up when using Oracle JDBC drivers

 
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java and Databases
View previous topic :: View next topic  
Author Message
Guest






PostPosted: Tue Apr 04, 2006 1:12 pm    Post subject: Memory shooting up when using Oracle JDBC drivers Reply with quote



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
Back to top
Robert Klemme
Guest





PostPosted: Thu Apr 13, 2006 3:12 pm    Post subject: Re: Memory shooting up when using Oracle JDBC drivers Reply with quote



zunilp (AT) gmail (DOT) com wrote:
Quote:
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.

What exactly do you mean by item 3 above? Do you store the
PreparedStatement with the Connection?

robert
Back to top
Display posts from previous:   
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java and Databases All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.