Developers! wrong code in oracle/net/ns/SessionAtts.class (Oracle JDBC Driver)
☺Oct 20 2001I have found that class oracle/net/ns/SessionAtts.class from
classes12.zip (Oracle JDBC driver) has an error wich prevents
Oracle supplied driver to use a large SDU. Thus, Oracle driver has
a problems with a performance (Note:1005123.6 ": Tuning
SQL*Net for better performance ", BUG no: 1527668 "JDBC
PERFORMANCE DEGRADES RAPDILY WHEN RETRIEVING
SPATIAL DATA TYPES ").
Look at the code below. "else sdu=i" NOT REACHED. It is needed
to replace 4086 by 32767, like in setTDU method.
===========================
oracle/net/ns/SessionAtts.class
===========================
public void setSDU(int i)
{
if (i <= 0)
sdu = 2048;
else if (i > 4086)
sdu = 4086;
else
sdu = i;
}
public void setTDU(int i)
{
if (i <= 0)
tdu = 32767;
else if (i > 32767)
tdu = 32767;
else
tdu = i;
}
I do not know, why developers do not eliminate the SDU limits.
Oracle Net8 and JDBC (JDBC is the NET8 emulation) has
no "sliding windows" technology. Thus, NET8 performance
depends on network delay only ("roundtrip") and not on bandwith.