JDBC Blob reading "hang" every 32ko
- From: ææ çé <kuon@xxxxxxxxxx>
- To: Oracle Mailing List <oracle-l@xxxxxxxxxxxxx>
- Date: Fri, 11 Nov 2005 11:11:47 +0100
Hello,
I'm currently developing a JDBC program on Oracle and I have the
following problem.
I use the BLOB.getBinaryStream() method, it works fine, I got the
stream and I can read it.
My problem is slow performances, when I call stream.read():
The first call takes 10 seconds.
Then 32*1024 next calls are very fast.
Then hang for 10 seconds
Then 32ko readed fast, hang....
Do you have any idea if this is Database or JDBC problem?
The network is fine.
I think it's a SQL Net problem, because when I SQL plus to the db on
the local computer, the connection is immediate, but if I sqlPlus
from remote computer, the connection hang for 5 seconds before
showing me the sqlPlus prompt. And 32ko seems to be the net packet
size, but I'm not sure of this.
So, my questions are:
- How can I use SQLPlus to select a blob (without printing it) with
set autot on so I can benchmark and be sure it's not my JDBC? (I
tried column binaryData noprint, select binaryData, id from akData
where id = 1, but I still got the "SQLPlus cannot print this kind of
data" error).
- How can I tune the SQLNet configuration?
- I use ASM, can this be a problem?
- Should I move the BLOB to a different tablespace? If yes, how?
- Any other settings to tune my db?
I use oracle 10g on Solaris 10.
Last JDBC (thin) driver.
Best regards
Kuon
--
//www.freelists.org/webpage/oracle-l
Other related posts: