Changes in This Release for Oracle Database JDBC Developer's Guide

This preface contains:

Changes in Oracle Database 12c Release 1 (12.1)

The following are changes in Oracle Database JDBC Developer's Guide for Oracle Database 12c Release 1 (12.1).

New Features

The following features are new in this release:

Multitenant Data Source for Java

To enable sharing a common pool of connections across multiple PDBs (or tenants), Oracle JDBC and Universal Connection Pool (UCP) furnish the multitenant data source for Java. In Oracle Database 12c Release 1 (12.1), it is based on a combination of the following:

  • Global database user (with access privileges to any PDB)

  • UCP connection labeling

  • The new SET CONTAINER statement within a callback function:

    The advantage of the SET CONTAINER statement is that the pool does not have to create a new connection to a PDB, if there is an existing connection to a different PDB. The pool can use the existing connection and can connect to the desired PDB through the SET CONTAINER statement. Use the following command to achieve this:

    ALTER SESSION SET CONTAINER=<PDB Name>
    

    This feature avoids the need to create a new connection from scratch.

  • The UCP connection labeling callback interface.

Example

Following steps describe how mutlitenant data source for Java works:

  1. Suppose, you have Tenant1, who calls the getConnection method with the corresponding label (mapped to the database ID) for a connection to PDB1.

  2. UCP searches the pool for a free connection, tentatively with the specified label mapped to the database ID.

  3. If for a connection Conn1, the label reads PDB1, then it is passed to JDBC, and consequently to Tenant1 for using the connection.

    Otherwise, if no connection label reads PDB1, then the following steps are performed:

    1. UCP invokes the user-implemented configure callback method to set the connection to PDB1 using the ALTER SESSION SET CONTAINER command.

    2. The SET CONTAINER statement is passed to the server and parsed.

    3. The server executes the SET CONTAINER statement and assigns the PDB-specific role to Tenant1Foot 1 .

    4. The server then connects Conn1 to PDB1, and returns the corresponding database ID (dbid) and other properties to JDBC.

    5. JDBC notifies UCP and passes Conn1 to Tenant1 for using the connection.

Deprecated Features

The following features are deprecated in this release, and may be desupported in a future release:

  • Concrete classes in the oracle.sql package

    The concrete classes in the oracle.sql package are deprecated. Use the new JDBC interfaces instead of these classes.

    See MoS Note 1364193.1 for more information about these interfaces.

  • defineColumnType method

    Most of the variants of the defineColumnType method are deprecated. The supported variants are for:

    • LOB to LONG conversions

    • Configure the LOB prefetch size

    See the JDBC Javadoc for more information.

  • CONNECTION_PROPERTY_STREAM_CHUNK_SIZE property

    See the JDBC Javadoc for more information.

  • Oracle Update Batching

    Oracle update batching is deprecated from this release in favor of standard update batching.

    See "Standard Update Batching" section for more information.

  • EndToEndMetrics related APIs

    EndToEndMetrics related APIs are deprecated in this release.

    See Chapter 33, "JDBC DMS Metrics" for more information.

Desupported Features

The following features are no longer supported by Oracle. See Oracle Database Upgrade Guide for a complete list of desupported features in this release.

  • Implicit Connection Caching

See Also:

Oracle Database Upgrade Guide to see a list of all desupported features in this release of Oracle Database

Other Changes

The following are additional changes in the release:

  • Run-Time Connection Load Balancing

    The Run-Time Connection Load Balancing feature enables routing of work requests to an instance that offers the best performance, minimizing the need to relocate work. With the desupport of Implicit Connection Cache, Oracle recommends you to use this feature with Universal Connection Pool. So, the Run-Time Connection Load Balancing chapter is removed from the book from this release.

    See Oracle Universal Connection Pool for JDBC Developer's Guide for more information about this feature.

  • Fast Connection Failover

    Fast Connection Failover offers a driver-independent way for your Java Database Connectivity (JDBC) application to take advantage of the connection failover facilities offered by Oracle Database 12c Release 1 (12.1). With the desupport of Implicit Connection Cache, Oracle recommends you to use this feature with Universal Connection Pool. So, the Fast Connection Failover chapter is removed from the book from this release.

    See Oracle Universal Connection Pool for JDBC Developer's Guide for more information about this feature.



Footnote Legend

Footnote 1: If you are a global user in a PDB, then you cannot perform many tasks without a password-protected role.