Oracle Client version
Not applicable
Release 11.2 and later
Release 11.2 and later
Oracle Database version
Release 12.1 and later
Release 9.2 and later depending on Oracle Client library version
Release 9.2 and later depending on Oracle Client library version
Standalone connections (see Standalone Connections)
Yes - must use keyword arguments
Yes - must use keyword arguments
Yes
Connection Pooling - Heterogeneous and Homogeneous (see Connection pooling)
Homogeneous only - must use keyword arguments
Yes - must use keyword arguments
Yes
Named Connection Pools (see Using the Connection Pool Cache)
Yes
Yes
No
Connection Pool Connection Load Balancing (CLB) (see Client-Side Load Balancing)
Yes
Yes
Yes
Connection Pool Runtime Load Balancing (RLB) (see Runtime Connection Load Balancing)
No
Yes
Yes
Connection Pool draining (see Prepare Applications for Planned Maintenance)
Yes
Yes
Yes
Connection Pool session state callback (see Session Callbacks for Setting Pooled Connection State)
Yes - Python functions but not PL/SQL functions
Yes
Yes
Connection pool session tagging (see Connection Tagging)
No
Yes
Yes
Password authentication
Yes
Yes
Yes
External authentication (see Connecting Using External Authentication)
No
Yes
Yes
Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) Tokens (see Connecting Using OCI IAM Token-Based Authentication)
Yes
Yes
Yes - in connection string with appropriate Oracle Client
Open Authorization (OAuth 2.0) (see Connecting Using OAuth 2.0 Token-Based Authentication)
Yes
Yes
Yes - in connection string with appropriate Oracle Client
Kerberos and Radius authentication
No
Yes
Yes
Lightweight Directory Access Protocol (LDAP) connections (see LDAP Directory Naming)
Yes - via a user function enabled with oracledb.register_protocol()
Yes
Yes
Proxy connections (see Connecting Using Proxy Authentication)
Yes
Yes
Yes
Socket Secure (SOCKS) Proxy connections
No
No
No
Connection mode privileges (see Connection Authorization Modes)
Yes
Yes - only AUTH_MODE_SYSDBA
is supported
Yes - only AUTH_MODE_SYSDBA
is supported
Preliminary connections
No
Yes
Yes
Set the current schema using an attribute
Yes
Yes
Yes
Oracle Cloud Database connectivity (see Connecting to Oracle Cloud Autonomous Databases)
Yes
Yes
Yes
Real Application Clusters (RAC)
Yes
Yes
Yes
Oracle Globally Distributed Database - previously known as Oracle Sharded Databases (see Connecting to Oracle Globally Distributed Database)
No
Yes - No TIMESTAMP support
Yes - No TIMESTAMP support
Oracle Database Native Network Encryption (NNE) (see Native Network Encryption)
No - use TLS instead
Yes
Yes
Connection health check APIs (see is_healthy()
and ping()
)
Yes
Yes
Yes
Oracle Net Services tnsnames.ora
file (see Optional Oracle Net Configuration Files)
Yes
Yes
Yes
Oracle Net Services sqlnet.ora
file (see Optional Oracle Net Configuration Files)
No - many values can be set at connection time
Yes
Yes
Oracle Client library configuration file oraaccess.xml
(see Optional Oracle Client Configuration File)
Not applicable
Yes
Yes
Easy Connect connection strings (see Easy Connect Syntax for Connection Strings)
Yes - mostly supported. Unknown settings are ignored and not passed to Oracle Database.
Yes
Yes
Centralized Configuration Providers (see Centralized Configuration Providers)
Yes
Yes
No
One-way TLS connections (see One-way TLS Connection to Oracle Autonomous Database)
Yes
Yes
Yes
Mutual TLS (mTLS) connections (see Mutual TLS (mTLS) Connection to Oracle Autonomous Database)
Yes
Yes
Yes
Secure External Password Store (SEPS) wallet (e.g. wallets created by mkstore)
No
Yes
Yes
Oracle Database Dedicated Servers, Shared Servers and Database Resident Connection Pooling (DRCP).
Yes
Yes
Yes
Oracle Database 23ai Implicit Connection Pooling with DRCP and PRCP (see Implicit Connection Pooling)
Yes
Yes
No
Multitenant Databases
Yes
Yes
Yes
CMAN and CMAN-TDM connectivity
Yes
Yes
Yes
Password changing (see Connection.changepassword()
)
Yes
Yes
Yes
Statement break/reset (see Connection.cancel()
)
Yes
Yes
Yes
Edition Based Redefinition (EBR) (see Edition-Based Redefinition (EBR))
Yes
Yes
Yes
SQL execution (see Executing SQL)
Yes
Yes
Yes
PL/SQL execution (see Executing PL/SQL)
Yes for scalar types. Yes for collection types using array interface.
Yes
Yes
Simple Oracle Document Access (SODA) API (see SODA)
No
Yes
Yes
Bind variables for data binding (see Using Bind Variables)
Yes
Yes
Yes
Array DML binding for bulk DML and PL/SQL (see Batch Statement and Bulk Copy Operations)
Yes
Yes
Yes
SQL and PL/SQL type and collections (see Fetching Oracle Database Objects and Collections)
Yes
Yes
Yes
Query column metadata (see Query Column Metadata)
Yes
Yes
Yes
Client character set support (see Character Sets and Globalization)
UTF-8
UTF-8
Yes - can use Python encodings. Default in 8.0 is UTF-8
Globalization support (see Character Sets and Globalization)
Yes - via Python globalization support
Yes - Oracle Database NLS environment variables are respected, excluding the character set in NLS_LANG
Yes - Oracle Database NLS environment variables are respected, excluding the character set in NLS_LANG
Row prefetching on first query execute (see Tuning Fetch Performance)
Yes - unless the row contains LOBs or similar types
Yes - unless the row contains LOBs or similar types
Yes - unless the row contains LOBs or similar types
Array fetching for queries (see Tuning Fetch Performance)
Yes
Yes
Yes
Statement caching (see Statement Caching)
Yes - new driver also supports dropping from the cache
Yes - new driver also supports dropping from the cache
Yes
Client Result Caching (CRC) (see Client Result Caching (CRC))
No
Yes
Yes
Oracle Database 23ai JSON-Relational Duality Views (see JSON-Relational Duality Views)
Yes
Yes
No
Continuous Query Notification (CQN) (see Working with Continuous Query Notification (CQN))
No
Yes
Yes
Oracle Transactional Event Queues and Advanced Queuing (AQ) (see Using Oracle Transactional Event Queues and Advanced Queuing)
Yes - only “Classic” queues are supported (RAW, named Oracle object, and JSON payloads)
Yes
Yes
Call timeouts (see Connection.call_timeout
)
Yes
Yes
Yes
Scrollable cursors (see Scrollable Cursors)
Yes
Yes
Yes
Oracle Database startup and shutdown (see Starting and Stopping Oracle Database)
No
Yes
Yes
Transaction management (see Managing Transactions)
Yes
Yes
Yes
Events mode for notifications
No
Yes
Yes
Fast Application Notification (FAN) (see Fast Application Notification (FAN))
No
Yes
Yes
In-band notifications
Yes
Yes
Yes
Transparent Application Failover (TAF)
No
Yes - no callback
Yes - no callback
Transaction Guard (TG) (see Transaction Guard)
Yes
Yes
Yes
Data Guard (DG) and Active Data Guard (ADG)
Yes
Yes
Yes
Application Continuity (AC) and Transparent Application Continuity (TAC) (see Application Continuity (AC))
No
Yes
Yes
Concurrent programming with asyncio (see Concurrent Programming with asyncio)
Yes
No
No
Oracle Database 23ai Pipelining (see Pipelining Database Operations)
Yes
No
No
End-to-end monitoring and tracing attributes (see Tracing python-oracledb)
Yes
Yes
Yes
Automatic Diagnostic Repository (ADR) (see About Fault Diagnosability in OCI)
No
Yes
Yes
Java Debug Wire Protocol for debugging PL/SQL (see Debugging PL/SQL with the Java Debug Wire Protocol)
Yes
Yes
Yes
Oracle Database 23ai Sessionless Transactions (see Sessionless Transactions)
Yes
Yes
No
Two-phase Commit (TPC) (see Using Two-Phase Commits (TPC))
Yes
Yes
Yes - limited support
REF CURSORs and Nested Cursors
Yes
Yes
Yes
Pipelined tables
Yes
Yes
Yes
Implicit Result Sets
Yes
Yes
Yes
Application Contexts (see Connection Metadata and Application Contexts)
Yes
Yes
Yes
Persistent and Temporary LOBs
Yes
Yes
Yes
LOB length prefetching
Yes
Yes
Yes
LOB locator operations such as trim
Yes
Yes
Yes
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4