Oracle JDBC Drivers release 11.1.0.6.0 - Production README
==========================================================
What Is New In This Release ?
-----------------------------
Support for Java Standard Edition 6 (JSE6) and JDBC 4.0
JSE 6 (AKA Mustang) is supported by the Thin and OCI drivers
including support for the new JDBC spec, JDBC 4.0. The new
java.sql.SQLXML type is not supported in this release. JSE 6 is
supported by the new Oracle JDBC jar files: ojdbc6.jar,
ojdbc6_g.jar, ojdbc6dms.jar, and ojdbc6dms_g.jar. This
release conforms with the JSE 6 production release.
J2SE 5.0 and JDBC 3.0 are fully supported by the other jars
contained in this release. The Server Internal Driver and Thin in
the Server driver support J2SE 5/ JDK 1.5 only.
Desupport of oracle.jdbc.driver
In the initial release of the Oracle JDBC drivers customers were
advised to use the classes defined in the package
oracle.jdbc.driver. This has caused problems for customers and for
Oracle. In Oracle JDBC release 9.0.1 customer use of the classes
in that package was deprecated. A new package, oracle.jdbc, was
introduced and customers were advised to begin using the
interfaces and classes defined in oracle.jdbc. In every release
since 9.0.1 we have encouraged customers to switch to oracle.jdbc
and stated that oracle.jdbc.driver would be desupported. The time
has come. Customer code that references oracle.jdbc.driver will
not compile and will not execute in this and future releases of
the Oracle JDBC drivers. Please use oracle.jdbc instead.
If you are using a class in oracle.jdbc.driver which does
not have an equivalently named type in oracle.jdbc, then customer
use of that class was never supported and you will need to find
another solution. The only exception is
oracle.jdbc.driver.OracleLog. Customers can still reference that
class for debugging purposes. Even in that case Oracle reccommends
that you use the Oracle JDBC Diagnosability MBean instead. See the
Oracle JDBC Developer's Guide for details.
J2SE 1.2, 1.3, and 1.4 Desupported
Oracle 11R1 does not support J2SE 1.2, 1.3, and 1.4. The .zip and .jar
files that support those versions of J2SE are not included in
Oracle JDBC 11R1. If you are still using J2SE 1.2, 1.3, or 1.4 you can
continue to use Oracle JDBC 10.2.0.1.0 with those versions of
Java. 10gR2 is still fully supported for use with those versions
of Java. If you want to use Oracle JDBC 11R1 you must use J2SE 5.0
or later.
Support of additional security features in the Thin driver
Oracle JDBC 11R1 Thin driver supports the AES encryption
algorithm, SHA1 hash algorithm, and RADIUS, KERBEROS and SSL
authentication mechanisms.
Support for the SQL ANYDATA, and ANYTYPE types
The ANYDATA, and ANYTYPE SQL types were introduce in
Oracle 9i. Prior to Oracle JDBC 11R1 Java programmers could
manipulate these types only via PL/SQL. Oracle JDBC 11R1 provides
a Java interface for using these types. See the Oracle JDBC 11R1
Developer's Guide for more info.
Advanced AQ support for Thin
Oracle JDBC 11R1 provides a new high performance interface for
accessing AQ, Oracle Advanced Queueing. This new interface is
faster and more capable than the existing PL/SQL based interface
and leverages the new support for the ANYDATA, ANYTYPE,
ANYDATASET types.
Support for Database Change Notification
Oracle Database 9i introduced Database Change Notification, the
capability to identify tables or queries of interest and receive
notification whenever one of them changes. Oracle JDBC 11R1
provides native Java support for this powerful feature. Every
developer who has a data cache should get the Oracle JDBC 11R1
Developer's Guide and learn how Database Change notification
works. If you don't have a data cache because the cost of stale
data was too high, DCN may make a cache possible.
Database startup and shutdow -- Thin and OCI
Oracle JDBC 11R1 provides methods for starting and shutting down
an Oracle Database.
New Factory Methods
The JDBC 4.0 spec for java.sql.Connection includes factory methods
for creating instances of the standard JDBC types, Array, Blob,
Clob, etc. Building on this concept Oracle JDBC 11R1
oracle.jdbc.OracleConnection provides factory methods for creating
instances of the Oracle specific types. Best practice is to use
the standard JDBC types and the new factory methods. When it is
necessary to use the Oracle specific types best practice is to
create them via the new factory methods. Direct customer access to
the the constructors for these types will be deprecated and later
desupported. The supported types are all those in oracle.sql,
including ARRAY, BFILE, DATE, INTERVALDS, NUMBER, STRUCT, TIME,
TIMESTAMP, etc.
Reduced Memory Footprint
In 10gR1 we rearchitected the drivers to improve performance at
the cost of increasing memory footprint, especially when using the
(highly recommended!) statement cache. We achieved our goal of
improving performance, but the increase in memory footprint has
sometimes proved problematic. The 11R1 release retains all of the
performance improvements while dramatically reducing memory
footprint when using the statement cache. Best practice is to
close statements when not in use. The cost of returning a
statement to the cache and retrieving it from the cache is
minimal. Each open statement does have a substantial memory
footprint. The footprint of closed statements is minimal. Our
testing has shown that closing unused statements when using the
statement cache actually improves performance due to the reduced
memory footprint.
Driver Versions
---------------
These are the driver versions in the 11R1 release:
- JDBC Thin Driver 11R1
100% Java client-side JDBC driver for use in client applications,
middle-tier servers and applets.
- JDBC OCI Driver 11R1
Client-side JDBC driver for use on a machine where OCI 11R1
is installed.
- JDBC Thin Server-side Driver 11R1
JDBC driver for use in Java program in the database to access
remote Oracle databases.
- JDBC Server-side Internal Driver 11R1
Server-side JDBC driver for use by Java Stored procedures. This
driver used to be called the "JDBC Kprb Driver".
For complete documentation, please refer to "JDBC Developer's Guide
and Reference".
Contents Of This Release
------------------------
For all platforms:
[ORACLE_HOME]/jdbc/lib contains:
- ojdbc5.jar
Classes for use with JDK 1.5. It contains the JDBC driver
classes, except classes for NLS support in Oracle Object and
Collection types.
- ojdbc5_g.jar
Same as ojdbc5.jar, except that classes were compiled with
"javac -g" and contain tracing code.
- ojdbc6.jar
Classes for use with JDK 1.6. It contains the JDBC driver classes
except classes for NLS support in Oracle Object and Collection
types.
- ojdbc6_g.jar
Same as ojdbc6.jar except compiled with "javac -g" and contains
tracing code.
Note: The dms versions of the jar files are the same as
standard jar files, except that they contain additional code
to support Oracle Dynamic Monitoring Service. They contain a
limited amount of tracing code. These can only be used
when dms.jar is in the classpath. dms.jar is provided as part of
Oracle Application Server releases. The dms versions
of the jar files are not included in the database release.
They will be released with Oracle Application Server.
[ORACLE_HOME]/jdbc/doc/javadoc.tar contains the JDBC Javadoc
for