In-Band Draining Notification Application Requirements
Ensure your application server, driver version, and connection pool are configured properly to enable sessions to drain when using in-band notifications.
Oracle UCP
| Connection Pool Version | Oracle Driver Version | Recommended Configuration Settings | Comments |
|---|---|---|---|
| 23.5.0.24.7 or later | 23.5.0.24.7 or later | Use the default settings | Preferred version |
| 19.12 or later | 19.12 or later | Set the UCP property: Note that there are several validation modes, and a mode can be set using driver settings. |
Draining occurs at connection check-out ( UCP will use ensure that JDBC uses a lightweight connection check that doesn't require a network round trip when |
| 19.11 and earlier | 19.11 and earlier | Upgrade to latest driver, or at a minimum driver version 19.12 | Not a recommended configuration No In-band notifications available; no draining possible unless ONS-based FAN is used |
WebLogic
Includes WebLogic Generic, WebLogic MDS, and WebLogic AGL.
| Application Server and Oracle Driver Version Combination | Recommended Configuration Settings | Comments |
|---|---|---|
12.2.1.4 with 19.12 or later 12.1.1.6 with 19.12 or later 14.1.1 with 19.12 or later 14.1.2 with 23.5.0.24.7 or later |
All WLS versions require fix for bug 35731335 The following parameters are needed:
|
By default, draining can happen at connection check-in with With the recommended settings, draining can also happen at connection check-out with |
| 12.2.1.4 with Oracle 19.11 and earlier | Upgrade to latest Oracle driver, or at a minimum driver version: 19.12 | Not a recommended configuration No In-band notifications available; no draining possible unless you have FAN |
JDBC
Applies to JDBC used in third-party pools or directly in custom code.
| Oracle Driver Version | Recommended Configuration Settings | Comments |
|---|---|---|
| 19.12 or later |
|
Draining occurs at connection check-out and check-in (if Oracle JDBC 19.15 is recommended if using AC or TAC so planned failover operates at |
| 19.11 and earlier | Upgrade to latest driver, or at a minimum driver version 19.12 | Not a recommended configuration No In-band notifications available; no draining possible |
Hikari
| Application Server Version | Oracle Driver Version | Recommended Configuration Settings | Comments |
|---|---|---|---|
| 6.0 | 19.21 or later | With the following properties, draining occurs at
and set the validation level using :
|
Draining occurs at connection check-out (beginRequest) and check-in (endRequest) with the recommended changes |
| earlier than 6.0 | 19.21 or later | Upgrade to Hikari 6.0 | Not a recommended configuration No request boundaries - no draining by default |
.NET
| Application Server Version | Oracle Driver Version | Recommended Configuration Settings | Comments |
|---|---|---|---|
| Any currently supported version | ODP.NET Core 19.9 or later | Use the default settings | ODP.NET in-band FAN notifications support the following usage scenarios:
Supported with Oracle Database 18c and higher. |
.NET Framework
| Application Server Version | Oracle Driver Version | Recommended Configuration Settings | Comments |
|---|---|---|---|
| Any currently supported version | Managed ODP.NET 19.9 or later Unmanaged ODP.NET 19.10 or later |
On by default in ODP.NET | ODP.NET in-band FAN notifications support the following usage scenarios:
Supported with Oracle Database 18c and higher. |
Tomcat
| Application Server Version | Oracle Driver Version | Recommended Configuration Settings | Comments |
|---|---|---|---|
| 9.0, 10.0, 11.0 | Any version | If you are using Tomcat with UCP, follow the UCP recommendations above. If you are using Tomcat with the Oracle JDBC driver or Oracle DBCP:
|
With the recommended changes, draining occurs at connection check-out ( UCP uses lightweight connection tests ( |
| 9.0, 10.0, 11.0 | Any version | Third-party pools or applications NOT calling Oracle JDBC driver:
|
Draining occurs at connection check-in (endRequest) with the recommended changes |
JBOSS
| Application Server Version | Oracle Driver Version | Recommended Configuration Settings | Comments |
|---|---|---|---|
| EAP 7.3.9 and later | 19.12 or later |
|
Without validation-SQL, a properly configured native pool may drain on each checkout (by validating each connection) and at checkin (automatically due to endRequest calls by JBOSS). |
| Versions earlier than EAP 7.3.9 | 19.12 or later |
|
Without If the application is calling JDBC See the requirements of the JDBC driver for detail. |
Long Running PL/SQL
| Application Server Version | Oracle Driver Version | Recommended Configuration Settings | Comments |
|---|---|---|---|
| Oracle Database 19 or higher | NA | Use the following SQL to test drain status between batches. The idea is to check the draining state. If draining state is detected, then close the connection and obtain a new one.
|
No draining by default; must use recommended SQL at batch intervals. This will work if the batch intervals are less than 1/2 of the drain timeout interval. |
OCI-Based Applications
ProC/C++ , ProCOBOL and python-oracledb in Thick mode.
| Application Server Version | Oracle Driver Version | Recommended Configuration Settings | Comments |
|---|---|---|---|
| Oracle Database 19 or higher | Oracle Database 19 or higher |
|
Draining occurs at checkout from the OCI Session Pool for OCI and python-oracledb in Thick mode. Draining occurs at an explicit request boundary (OCIRequestBegin for OCI applications and EXEC SQL REQUEST BEGIN for Pro*/C++ and Pro*COBOL applications). Long running applications should test drain status as shown in the "Recommended Configuration Settings" here. |
Long Running JDBC
| Application Server Version | Oracle Driver Version | Recommended Configuration Settings |
|---|---|---|
| Oracle Database 19 or higher | Oracle Database 19 or higher |
|