Using JDBC, the Universal Connection Pool (UCP) and the embedded JVM (OJVM) through technical articles, white papers, code samples, FAQs and more.
Whether on the cloud or on-premises, developing Java applications with Oracle Autonomous Databases is fast and simple. Java developers can take advantage of the latest features, such as Oracle Autonomous Database, performance self-tuning, high availability, in-memory processing, and pluggable databases to design and develop a high performant, scalable, and reliable applications. The Oracle JDBC key capabilities that were added over the many releases are listed below.
Java Standards and Frameworks | Supports JDK8, JDK11, JDK17, JDK19, and JDK21 and implements JDBC 4.2 and JDBC 4.3 by ojdbc11.jar (23ai, 21c) and ojdbc10.jar (19c). Universal Connection Pool (ucp.jar) for Java applications, Oracle R2DBC driver v1.1.1 implementing R2DBC SPI, GraalVM Native Image support in the JDBC driver, Virtual Threads (Project Loom), Asynchronous Extension to Universal Connection Pool, JDBC Reactive Extensions - A set of methods that extend the JDBC standard to offer asynchronous database access, and Oracle Cloud Infrastructure Toolkit for IntelliJ v1.0.1 |
Connection |
Support for multi cloud centralized config providers (Azure, OCI, and WebServer), Support for OCI IAM token authentication, Support for OAUTH2 for DB authentication and Azure AD integration, Support for passwords up to 1024 bytes, Easy Connect Plus for easier TCPS connections and passing connection properties, ojdbc.properties file to set connection properties, multiple ways for setting TNS_ADMIN, setting server's domain name (DN) cert as a connection property, support of new wallet property (my_wallet_directory), and Easy Connect support for LDAPS/LDAP
|
Performance | Support for Database Pipelining, Support for True Cache, JDBC Standard Batching APIs are enhanced to use database pipeline under the covers, JDBC Reactive Extensions, UCP Reactive Extensions (23ai), Oracle connection manager (CMAN) in traffic director mode (CMAN-TDM), and Improvements to response time with executeBatch() & executeLargeBatch(), and Support for Bequeath (BEQ) protocol |
Scalability | Support for Directory-based Sharding, Support for Raft Replication, Java Data Source for Sharded Databases Access, UCP support for XA transactions with Oracle Database Sharding, Oracle RAC data affinity, shard routing APIs for mid-tiers, shared pool for multitenant and sharded database, and run time load balancing (RLB) |
High Availability | Session Migration with AC for Batch and Templates (i.e., stable restorable attributes), Transparent Application Continuity (TAC), Session-State-Stable cursor support, Draining with batches, Support of concrete classes with Application Continuity (AC), AC with DRCP, FAN support, and Transaction Guard (TG) |
Security | Support for Longer Passwords(1024bytes), Support for Thumbprint based certification selection, Support for RADIUS and RADIUS two-factor authentication, Easy Connect for LDAP/LDAPS, Support for Kerberos Constrained Delegation, Automatic Provider Resolution (OraclePKIProvider), support for Key Store Service (KSS); HTTPS proxy support, TLSv1.2 Support, Kerberos, Oracle Wallets, and JKS |
Data Types | AI Vector Search and VECTOR datatype support, Native Boolean datatype in oracle.jdbc.OracleType, New Utility methods (getJsonSchema() and isDualityView()) for Duality view support, Support for New JSON Data Type, Accessibility to PL/SQL associative arrays, Oracle REF CURSOR as IN bind parameter. |
Diagnosability and Observability | Self-driven diagnosability (a single ojdbcX.jar for production, debug, and metrics), Diagnose on first failure (records critical execution state in memory and dumps the recording on error) |
Open-Source Projects | Config/Resource providers for Azure, OCI and Open Telemetry, Oracle Database Operator for Kubernetes v1.0.0, App Stack for Java v0.1.0, Reactive Streams Ingest (RSI) in Streaming mode and Data Loader mode, OCI Toolkit for Eclipse v1.3.4, and OCI Toolkit for IntelliJ v1.0.1 |