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
( |
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
Pro*C/C++ , Pro*COBOL 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 |
|