6. API: PoolParams Objects
6.1. PoolParams Class
- class oracledb.PoolParams(*, min: int | None = None, max: int | None = None, increment: int | None = None, connectiontype: Type[Connection] | None = None, getmode: PoolGetMode | None = None, homogeneous: bool | None = None, timeout: int | None = None, wait_timeout: int | None = None, max_lifetime_session: int | None = None, session_callback: Callable | None = None, max_sessions_per_shard: int | None = None, soda_metadata_cache: bool | None = None, ping_interval: int | None = None, ping_timeout: int | None = None, user: str | None = None, proxy_user: str | None = None, password: str | None = None, newpassword: str | None = None, wallet_password: str | None = None, access_token: str | tuple | Callable | None = None, host: str | None = None, port: int | None = None, protocol: str | None = None, https_proxy: str | None = None, https_proxy_port: int | None = None, service_name: str | None = None, instance_name: str | None = None, sid: str | None = None, server_type: str | None = None, cclass: str | None = None, purity: Purity | None = None, expire_time: int | None = None, retry_count: int | None = None, retry_delay: int | None = None, tcp_connect_timeout: float | None = None, ssl_server_dn_match: bool | None = None, ssl_server_cert_dn: str | None = None, wallet_location: str | None = None, events: bool | None = None, externalauth: bool | None = None, mode: AuthMode | None = None, disable_oob: bool | None = None, stmtcachesize: int | None = None, edition: str | None = None, tag: str | None = None, matchanytag: bool | None = None, config_dir: str | None = None, appcontext: list | None = None, shardingkey: list | None = None, supershardingkey: list | None = None, debug_jdwp: str | None = None, connection_id_prefix: str | None = None, ssl_context: Any | None = None, sdu: int | None = None, pool_boundary: str | None = None, use_tcp_fast_open: bool | None = None, ssl_version: TLSVersion | None = None, program: str | None = None, machine: str | None = None, terminal: str | None = None, osuser: str | None = None, driver_name: str | None = None, use_sni: bool | None = None, thick_mode_dsn_passthrough: bool | None = None, extra_auth_params: dict | None = None, pool_name: str | None = None, on_connect_callback: Callable | None = None, handle: int | None = None)
All parameters are optional. A brief description of each parameter follows:
min: the minimum number of connections the pool should contain (default: 1)max: the maximum number of connections the pool should contain (default: 2)increment: the number of connections that should be added to the pool whenever the pool needs to grow (default: 1)connectiontype: the class of the connection that should be returned during calls to pool.acquire(). It must be oracledb.Connection or a subclass of oracledb.Connection (default: None)getmode: how pool.acquire() will behave. One of the constantsoracledb.POOL_GETMODE_WAIT,oracledb.POOL_GETMODE_NOWAIT,oracledb.POOL_GETMODE_FORCEGET, ororacledb.POOL_GETMODE_TIMEDWAIT(default:oracledb.POOL_GETMODE_WAIT)homogeneous: a boolean indicating whether the connections in the pool are homogeneous (same user) or heterogeneous (multiple users) (default: True)timeout: the length of time (in seconds) that a connection may remain idle in the pool before it is terminated. If it is 0 then connections are never terminated (default: 0)wait_timeout: the length of time (in milliseconds) that a caller should wait when acquiring a connection from the pool with getmode set tooracledb.POOL_GETMODE_TIMEDWAIT(default: 0)max_lifetime_session: the length of time (in seconds) that connections can remain in the pool. If it is 0 then connections may remain in the pool indefinitely (default: 0)session_callback: a callable that is invoked when a connection is returned from the pool for the first time, or when the connection tag differs from the one requested (default: None)max_sessions_per_shard: the maximum number of connections that may be associated with a particular shard (default: 0)soda_metadata_cache: a boolean indicating whether or not the SODA metadata cache should be enabled (default: False)ping_interval: the length of time (in seconds) after which an unused connection in the pool will be a candidate for pinging when pool.acquire() is called. If the ping to the database indicates the connection is not alive a replacement connection will be returned by pool.acquire(). If ping_interval is a negative value the ping functionality will be disabled (default: 60)ping_timeout: the maximum length of time (in milliseconds) to wait for a connection in the pool to respond to an internal ping to the database before being discarded and replaced during a call to acquire() (default: 5000)user: the name of the database user to connect to (default: None)proxy_user: the name of the proxy user to connect to. If this value is not specified, it will be parsed out of user if user is in the form “user[proxy_user]” (default: None)password: the password for the database user (default: None)newpassword: a new password for the database user. The new password will take effect immediately upon a successful connection to the database (default: None)wallet_password: the password to use to decrypt the wallet, if it is encrypted. This is not the database password. For Oracle Autonomous Database this is the password created when downloading the wallet. This value is only used in python-oracledb Thin mode. (default: None)access_token: a string, or a 2-tuple, or a callable. If it is a string, it specifies an Entra ID OAuth2 token used for Open Authorization (OAuth 2.0) token based authentication. If it is a 2-tuple, it specifies the token and private key strings used for Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) token based authentication. If it is a callable, it returns either a string or a 2-tuple used for OAuth 2.0 or OCI IAM token based authentication and is useful when the pool needs to expand and create new connections but the current authentication token has expired (default: None)host: the hostname or IP address of the machine hosting the database or the database listener (default: None)port: the port number on which the database listener is listening (default: 1521)protocol: one of the strings “tcp” or “tcps” indicating whether to use unencrypted network traffic or encrypted network traffic (TLS) (default: “tcp”)https_proxy: the hostname or IP address of a proxy host to use for tunneling secure connections (default: None)https_proxy_port: the port on which to communicate with the proxy host (default: 0)service_name: the service name of the database (default: None)instance_name: the instance name of the database (default: None)sid: the system identifier (SID) of the database. Note using a service_name instead is recommended (default: None)server_type: the type of server connection that should be established. If specified, it should be one of strings “dedicated”, “shared” or “pooled” (default: None)cclass: the connection class to use for Database Resident Connection Pooling (DRCP) (default: None)purity: the connection purity to use for Database Resident Connection Pooling (DRCP) (default:oracledb.PURITY_DEFAULT)expire_time: the number of minutes between the sending of keepalive probes. If this parameter is set to a value greater than zero it enables keepalive (default: 0)retry_count: the number of times that initial connection establishment should be retried before the connection attempt is terminated (default: 0)retry_delay: the number of seconds to wait before retrying to establish a connection (default: 1)tcp_connect_timeout: a float indicating the maximum number of seconds to wait when establishing a connection to the database host (default: 20.0)ssl_server_dn_match: a boolean indicating whether the server certificate distinguished name (DN) should be matched in addition to the regular certificate verification that is performed. Note that if the ssl_server_cert_dn parameter is not privided, host name matching is performed instead (default: True)ssl_server_cert_dn: the distinguished name (DN) which should be matched with the server. This value is ignored if the ssl_server_dn_match parameter is not set to the value True. If specified this value is used for any verfication. Otherwise the hostname will be used (default: None)wallet_location: the directory where the wallet can be found. In python-oracledb Thin mode this must be the directory containing the PEM-encoded wallet file ewallet.pem. In python-oracledb Thick mode this must be the directory containing the file cwallet.sso (default: None)events: a boolean specifying whether events mode should be enabled. This value is only used in python-oracledb Thick mode and is needed for continuous query notification and high availability event notifications (default: False)externalauth: a boolean indicating whether to use external authentication (default: False)mode: the authorization mode to use. One of the constantsoracledb.AUTH_MODE_DEFAULT,oracledb.AUTH_MODE_PRELIM,oracledb.AUTH_MODE_SYSASM,oracledb.AUTH_MODE_SYSBKP,oracledb.AUTH_MODE_SYSDBA,oracledb.AUTH_MODE_SYSDGD,oracledb.AUTH_MODE_SYSKMT,oracledb.AUTH_MODE_SYSOPER, ororacledb.AUTH_MODE_SYSRAC(default:oracledb.AUTH_MODE_DEFAULT)disable_oob: a boolean indicating whether out-of-band breaks should be disabled. This value is only used in python-oracledb Thin mode. It has no effect on Windows which does not support this functionality (default: False)stmtcachesize: the size of the statement cache (default:oracledb.defaults.stmtcachesize)edition: edition to use for the connection. This parameter cannot be used simultaneously with the cclass parameter (default: None)tag: identifies the type of connection that should be returned from a pool. This value is only used in python-oracledb Thick mode (default: None)matchanytag: a boolean specifying whether any tag can be used when acquiring a connection from the pool. This value is only used in python-oracledb Thick mode (default: False)config_dir: a directory in which the optional tnsnames.ora configuration file is located. This value is only used in python- oracledb Thin mode. For python-oracledb Thick mode, it is used iforacledb.defaults.thick_mode_dsn_passthroughis False. Otherwise in Thick mode use theconfig_dirparameter oforacledb.init_oracle_client()(default:oracledb.defaults.config_dir)appcontext: application context used by the connection. It should be a list of 3-tuples (namespace, name, value) and each entry in the tuple should be a string (default: None)shardingkey: a list of strings, numbers, bytes or dates that identify the database shard to connect to. This value is only used in python-oracledb Thick mode (default: None)supershardingkey: a list of strings, numbers, bytes or dates that identify the database shard to connect to. This value is only used in python-oracledb Thick mode (default: None)debug_jdwp: a string with the format “host=<host>;port=<port>” that specifies the host and port of the PL/SQL debugger. This value is only used in python-oracledb Thin mode. For python-oracledb Thick mode set the ORA_DEBUG_JDWP environment variable (default: None)connection_id_prefix: an application specific prefix that is added to the connection identifier used for tracing (default: None)ssl_context: an SSLContext object used for connecting to the database using TLS. This SSL context will be modified to include the private key or any certificates found in a separately supplied wallet. This parameter should only be specified if the default SSLContext object cannot be used (default: None)sdu: the requested size of the Session Data Unit (SDU), in bytes. The value tunes internal buffers used for communication to the database. Bigger values can increase throughput for large queries or bulk data loads, but at the cost of higher memory use. The SDU size that will actually be used is negotiated down to the lower of this value and the database network SDU configuration value (default: 8192)pool_boundary: one of the values “statement” or “transaction” indicating when pooled DRCP connections can be returned to the pool. This requires the use of DRCP with Oracle Database 23.4 or higher (default: None)use_tcp_fast_open: a boolean indicating whether to use TCP fast open. This is an Oracle Autonomous Database Serverless (ADB-S) specific property for clients connecting from within OCI Cloud network. Please refer to the ADB-S documentation for more information (default: False)ssl_version: one of the values ssl.TLSVersion.TLSv1_2 or ssl.TLSVersion.TLSv1_3 indicating which TLS version to use (default: None)program: a string recorded by Oracle Database as the program from which the connection originates (default:oracledb.defaults.program)machine: a string recorded by Oracle Database as the name of the machine from which the connection originates (default:oracledb.defaults.machine)terminal: a string recorded by Oracle Database as the terminal identifier from which the connection originates (default:oracledb.defaults.terminal)osuser: a string recorded by Oracle Database as the operating system user who originated the connection (default:oracledb.defaults.osuser)driver_name: a string recorded by Oracle Database as the name of the driver which originated the connection (default:oracledb.defaults.driver_name)use_sni: a boolean indicating whether to use the TLS SNI extension to bypass the second TLS neogiation that would otherwise be required (default: False)thick_mode_dsn_passthrough: a boolean indicating whether to pass the connect string to the Oracle Client libraries unchanged without parsing by the driver. Setting this to False makes python-oracledb Thick and Thin mode applications behave similarly regarding connection string parameter handling and locating any optional tnsnames.ora configuration file (default:oracledb.defaults.thick_mode_dsn_passthrough)extra_auth_params: a dictionary containing configuration parameters necessary for Oracle Database authentication using plugins, such as the Azure and OCI cloud-native authentication plugins (default: None)pool_name: the name of the DRCP pool when using multi-pool DRCP with Oracle Database 23.4, or higher (default: None)on_connect_callback: a callable that is invoked immediately after a standalone connection is created or a connection is acquired from a connection pool, but before it is returned to the caller. A common use of this callback is for creating and setting an end user security context object for DeepSec support (default: None)handle: an integer representing a pointer to a valid service context handle. This value is only used in python-oracledb Thick mode. It should be used with extreme caution (default: 0)
The PoolParams class is a subclass of the ConnectParams Class. In addition to the parameters and attributes of the ConnectParams class, the PoolParams class also contains new parameters and attributes.
See Using the PoolParams Builder Class for more information.
Changed in version 4.0.0: The
on_connect_callbackparameter was added.Changed in version 3.2.0: The
pool_nameparameter was added.Changed in version 3.0.0: The
use_sni,instance_name,thick_mode_dsn_passthrough,extra_auth_params, andinstance_nameparameters were added.Changed in version 2.5.0: The
program,machine,terminal,osuser, anddriver_nameparameters were added. Support foreditionandappcontextwas added to python-oracledb Thin mode.Changed in version 2.3.0: The default value of the
retry_delayparameter was changed from 0 seconds to 1 second. The default value of thetcp_connect_timeoutparameter was changed from 60.0 seconds to 20.0 seconds. Theping_timeoutandssl_versionparameters were added.Changed in version 2.1.0: The
pool_boundaryanduse_tcp_fast_openparameters were added.Changed in version 2.0.0: The
ssl_contextandsduparameters were added.Changed in version 1.4.0: The
connection_id_prefixparameter was added.
6.2. PoolParams Methods
- PoolParams.copy() PoolParams
Creates a copy of the parameters and returns it.
- PoolParams.get_connect_string() str
Returns the connection string associated with the instance.
- PoolParams.parse_connect_string(connect_string: str) None
Parses the connect string into its components and stores the parameters.
The
connect stringparameter can be an Easy Connect string, name-value pairs, or a simple alias which is looked up intnsnames.ora. Parameters that are found in the connect string override any currently stored values.
- PoolParams.set(*, min: int | None = None, max: int | None = None, increment: int | None = None, connectiontype: Type[Connection] | None = None, getmode: PoolGetMode | None = None, homogeneous: bool | None = None, timeout: int | None = None, wait_timeout: int | None = None, max_lifetime_session: int | None = None, session_callback: Callable | None = None, max_sessions_per_shard: int | None = None, soda_metadata_cache: bool | None = None, ping_interval: int | None = None, ping_timeout: int | None = None, user: str | None = None, proxy_user: str | None = None, password: str | None = None, newpassword: str | None = None, wallet_password: str | None = None, access_token: str | tuple | Callable | None = None, host: str | None = None, port: int | None = None, protocol: str | None = None, https_proxy: str | None = None, https_proxy_port: int | None = None, service_name: str | None = None, instance_name: str | None = None, sid: str | None = None, server_type: str | None = None, cclass: str | None = None, purity: Purity | None = None, expire_time: int | None = None, retry_count: int | None = None, retry_delay: int | None = None, tcp_connect_timeout: float | None = None, ssl_server_dn_match: bool | None = None, ssl_server_cert_dn: str | None = None, wallet_location: str | None = None, events: bool | None = None, externalauth: bool | None = None, mode: AuthMode | None = None, disable_oob: bool | None = None, stmtcachesize: int | None = None, edition: str | None = None, tag: str | None = None, matchanytag: bool | None = None, config_dir: str | None = None, appcontext: list | None = None, shardingkey: list | None = None, supershardingkey: list | None = None, debug_jdwp: str | None = None, connection_id_prefix: str | None = None, ssl_context: Any | None = None, sdu: int | None = None, pool_boundary: str | None = None, use_tcp_fast_open: bool | None = None, ssl_version: TLSVersion | None = None, program: str | None = None, machine: str | None = None, terminal: str | None = None, osuser: str | None = None, driver_name: str | None = None, use_sni: bool | None = None, thick_mode_dsn_passthrough: bool | None = None, extra_auth_params: dict | None = None, pool_name: str | None = None, on_connect_callback: Callable | None = None, handle: int | None = None)
All parameters are optional. A brief description of each parameter follows:
min: the minimum number of connections the pool should containmax: the maximum number of connections the pool should containincrement: the number of connections that should be added to the pool whenever the pool needs to growconnectiontype: the class of the connection that should be returned during calls to pool.acquire(). It must be oracledb.Connection or a subclass of oracledb.Connectiongetmode: how pool.acquire() will behave. One of the constantsoracledb.POOL_GETMODE_WAIT,oracledb.POOL_GETMODE_NOWAIT,oracledb.POOL_GETMODE_FORCEGET, ororacledb.POOL_GETMODE_TIMEDWAIThomogeneous: a boolean indicating whether the connections in the pool are homogeneous (same user) or heterogeneous (multiple users)timeout: the length of time (in seconds) that a connection may remain idle in the pool before it is terminated. If it is 0 then connections are never terminatedwait_timeout: the length of time (in milliseconds) that a caller should wait when acquiring a connection from the pool with getmode set tooracledb.POOL_GETMODE_TIMEDWAITmax_lifetime_session: the length of time (in seconds) that connections can remain in the pool. If it is 0 then connections may remain in the pool indefinitelysession_callback: a callable that is invoked when a connection is returned from the pool for the first time, or when the connection tag differs from the one requestedmax_sessions_per_shard: the maximum number of connections that may be associated with a particular shardsoda_metadata_cache: a boolean indicating whether or not the SODA metadata cache should be enabledping_interval: the length of time (in seconds) after which an unused connection in the pool will be a candidate for pinging when pool.acquire() is called. If the ping to the database indicates the connection is not alive a replacement connection will be returned by pool.acquire(). If ping_interval is a negative value the ping functionality will be disabledping_timeout: the maximum length of time (in milliseconds) to wait for a connection in the pool to respond to an internal ping to the database before being discarded and replaced during a call to acquire()user: the name of the database user to connect toproxy_user: the name of the proxy user to connect to. If this value is not specified, it will be parsed out of user if user is in the form “user[proxy_user]”password: the password for the database usernewpassword: a new password for the database user. The new password will take effect immediately upon a successful connection to the databasewallet_password: the password to use to decrypt the wallet, if it is encrypted. This is not the database password. For Oracle Autonomous Database this is the password created when downloading the wallet. This value is only used in python-oracledb Thin mode.access_token: a string, or a 2-tuple, or a callable. If it is a string, it specifies an Entra ID OAuth2 token used for Open Authorization (OAuth 2.0) token based authentication. If it is a 2-tuple, it specifies the token and private key strings used for Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) token based authentication. If it is a callable, it returns either a string or a 2-tuple used for OAuth 2.0 or OCI IAM token based authentication and is useful when the pool needs to expand and create new connections but the current authentication token has expiredhost: the hostname or IP address of the machine hosting the database or the database listenerport: the port number on which the database listener is listeningprotocol: one of the strings “tcp” or “tcps” indicating whether to use unencrypted network traffic or encrypted network traffic (TLS)https_proxy: the hostname or IP address of a proxy host to use for tunneling secure connectionshttps_proxy_port: the port on which to communicate with the proxy hostservice_name: the service name of the databaseinstance_name: the instance name of the databasesid: the system identifier (SID) of the database. Note using a service_name instead is recommendedserver_type: the type of server connection that should be established. If specified, it should be one of strings “dedicated”, “shared” or “pooled”cclass: the connection class to use for Database Resident Connection Pooling (DRCP)purity: the connection purity to use for Database Resident Connection Pooling (DRCP)expire_time: the number of minutes between the sending of keepalive probes. If this parameter is set to a value greater than zero it enables keepaliveretry_count: the number of times that initial connection establishment should be retried before the connection attempt is terminatedretry_delay: the number of seconds to wait before retrying to establish a connectiontcp_connect_timeout: a float indicating the maximum number of seconds to wait when establishing a connection to the database hostssl_server_dn_match: a boolean indicating whether the server certificate distinguished name (DN) should be matched in addition to the regular certificate verification that is performed. Note that if the ssl_server_cert_dn parameter is not privided, host name matching is performed insteadssl_server_cert_dn: the distinguished name (DN) which should be matched with the server. This value is ignored if the ssl_server_dn_match parameter is not set to the value True. If specified this value is used for any verfication. Otherwise the hostname will be usedwallet_location: the directory where the wallet can be found. In python-oracledb Thin mode this must be the directory containing the PEM-encoded wallet file ewallet.pem. In python-oracledb Thick mode this must be the directory containing the file cwallet.ssoevents: a boolean specifying whether events mode should be enabled. This value is only used in python-oracledb Thick mode and is needed for continuous query notification and high availability event notificationsexternalauth: a boolean indicating whether to use external authenticationmode: the authorization mode to use. One of the constantsoracledb.AUTH_MODE_DEFAULT,oracledb.AUTH_MODE_PRELIM,oracledb.AUTH_MODE_SYSASM,oracledb.AUTH_MODE_SYSBKP,oracledb.AUTH_MODE_SYSDBA,oracledb.AUTH_MODE_SYSDGD,oracledb.AUTH_MODE_SYSKMT,oracledb.AUTH_MODE_SYSOPER, ororacledb.AUTH_MODE_SYSRACdisable_oob: a boolean indicating whether out-of-band breaks should be disabled. This value is only used in python-oracledb Thin mode. It has no effect on Windows which does not support this functionalitystmtcachesize: the size of the statement cacheedition: edition to use for the connection. This parameter cannot be used simultaneously with the cclass parametertag: identifies the type of connection that should be returned from a pool. This value is only used in python-oracledb Thick modematchanytag: a boolean specifying whether any tag can be used when acquiring a connection from the pool. This value is only used in python-oracledb Thick modeconfig_dir: a directory in which the optional tnsnames.ora configuration file is located. This value is only used in python- oracledb Thin mode. For python-oracledb Thick mode, it is used iforacledb.defaults.thick_mode_dsn_passthroughis False. Otherwise in Thick mode use theconfig_dirparameter oforacledb.init_oracle_client()appcontext: application context used by the connection. It should be a list of 3-tuples (namespace, name, value) and each entry in the tuple should be a stringshardingkey: a list of strings, numbers, bytes or dates that identify the database shard to connect to. This value is only used in python-oracledb Thick modesupershardingkey: a list of strings, numbers, bytes or dates that identify the database shard to connect to. This value is only used in python-oracledb Thick modedebug_jdwp: a string with the format “host=<host>;port=<port>” that specifies the host and port of the PL/SQL debugger. This value is only used in python-oracledb Thin mode. For python-oracledb Thick mode set the ORA_DEBUG_JDWP environment variableconnection_id_prefix: an application specific prefix that is added to the connection identifier used for tracingssl_context: an SSLContext object used for connecting to the database using TLS. This SSL context will be modified to include the private key or any certificates found in a separately supplied wallet. This parameter should only be specified if the default SSLContext object cannot be usedsdu: the requested size of the Session Data Unit (SDU), in bytes. The value tunes internal buffers used for communication to the database. Bigger values can increase throughput for large queries or bulk data loads, but at the cost of higher memory use. The SDU size that will actually be used is negotiated down to the lower of this value and the database network SDU configuration valuepool_boundary: one of the values “statement” or “transaction” indicating when pooled DRCP connections can be returned to the pool. This requires the use of DRCP with Oracle Database 23.4 or higheruse_tcp_fast_open: a boolean indicating whether to use TCP fast open. This is an Oracle Autonomous Database Serverless (ADB-S) specific property for clients connecting from within OCI Cloud network. Please refer to the ADB-S documentation for more informationssl_version: one of the values ssl.TLSVersion.TLSv1_2 or ssl.TLSVersion.TLSv1_3 indicating which TLS version to useprogram: a string recorded by Oracle Database as the program from which the connection originatesmachine: a string recorded by Oracle Database as the name of the machine from which the connection originatesterminal: a string recorded by Oracle Database as the terminal identifier from which the connection originatesosuser: a string recorded by Oracle Database as the operating system user who originated the connectiondriver_name: a string recorded by Oracle Database as the name of the driver which originated the connectionuse_sni: a boolean indicating whether to use the TLS SNI extension to bypass the second TLS neogiation that would otherwise be requiredthick_mode_dsn_passthrough: a boolean indicating whether to pass the connect string to the Oracle Client libraries unchanged without parsing by the driver. Setting this to False makes python-oracledb Thick and Thin mode applications behave similarly regarding connection string parameter handling and locating any optional tnsnames.ora configuration fileextra_auth_params: a dictionary containing configuration parameters necessary for Oracle Database authentication using plugins, such as the Azure and OCI cloud-native authentication pluginspool_name: the name of the DRCP pool when using multi-pool DRCP with Oracle Database 23.4, or higheron_connect_callback: a callable that is invoked immediately after a standalone connection is created or a connection is acquired from a connection pool, but before it is returned to the caller. A common use of this callback is for creating and setting an end user security context object for DeepSec supporthandle: an integer representing a pointer to a valid service context handle. This value is only used in python-oracledb Thick mode. It should be used with extreme caution
Changed in version 4.0.0: The
on_connect_callbackparameter was added.Changed in version 3.2.0: The
pool_nameparameter was added.Changed in version 3.0.0: The
use_sni,thick_mode_dsn_passthrough,extra_auth_paramsandinstance_nameparameters were added.Changed in version 2.5.0: The
program,machine,terminal,osuser, anddriver_nameparameters were added. Support foreditionandappcontextwas added to python-oracledb Thin mode.Changed in version 2.3.0: The
ping_timeoutandssl_versionparameters were added.Changed in version 2.1.0: The
pool_boundaryanduse_tcp_fast_openparameters were added.
6.3. PoolParams Attributes
All properties are read only.
- property PoolParams.connectiontype: Type[Connection]
The class of the connection that should be returned during calls to pool.acquire(). It must be oracledb.Connection or a subclass of oracledb.Connection.
This attribute is supported in both python-oracledb Thin and Thick modes.
- property PoolParams.getmode: PoolGetMode
How pool.acquire() will behave. One of the constants
oracledb.POOL_GETMODE_WAIT,oracledb.POOL_GETMODE_NOWAIT,oracledb.POOL_GETMODE_FORCEGET, ororacledb.POOL_GETMODE_TIMEDWAIT.This attribute is supported in both python-oracledb Thin and Thick modes.
- property PoolParams.homogeneous: bool
A boolean indicating whether the connections in the pool are homogeneous (same user) or heterogeneous (multiple users).
This attribute is only supported in python-oracledb Thick mode. The python-oracledb Thin mode supports only homogeneous modes.
- property PoolParams.increment: int
The number of connections that should be added to the pool whenever the pool needs to grow.
This attribute is supported in both python-oracledb Thin and Thick modes.
- property PoolParams.min: int
The minimum number of connections the pool should contain.
This attribute is supported in both python-oracledb Thin and Thick modes.
- property PoolParams.max: int
The maximum number of connections the pool should contain.
This attribute is supported in both python-oracledb Thin and Thick modes.
- property PoolParams.max_lifetime_session: int
The length of time (in seconds) that connections can remain in the pool. If it is 0 then connections may remain in the pool indefinitely.
Connections become candidates for termination when they are acquired or released back to the pool, and have existed for longer than
max_lifetime_sessionseconds. Connections that are in active use will not be closed. When python-oracledb Thick mode is using Oracle Client libraries older than version 21, cleanup only occurs when the pool is accessed.
- property PoolParams.max_sessions_per_shard: int
The maximum number of connections that may be associated with a particular shard.
This attribute is only supported in python-oracledb Thick mode.
- property PoolParams.ping_interval: int
The length of time (in seconds) after which an unused connection in the pool will be a candidate for pinging when pool.acquire() is called. If the ping to the database indicates the connection is not alive a replacement connection will be returned by pool.acquire(). If ping_interval is a negative value the ping functionality will be disabled.
This attribute is supported in both python-oracledb Thin and Thick modes.
- property PoolParams.ping_timeout: int
The maximum length of time (in milliseconds) to wait for a connection in the pool to respond to an internal ping to the database before being discarded and replaced during a call to acquire().
This attribute is supported in both python-oracledb Thin and Thick modes.
Added in version 2.3.0.
- property PoolParams.session_callback: Callable
A callable that is invoked when a connection is returned from the pool for the first time, or when the connection tag differs from the one requested.
This attribute is supported in both python-oracledb Thin and Thick modes.
- property PoolParams.soda_metadata_cache: bool
A boolean indicating whether or not the SODA metadata cache should be enabled.
This attribute is only supported in python-oracledb Thick mode.
- property PoolParams.timeout: int
The length of time (in seconds) that a connection may remain idle in the pool before it is terminated. If it is 0 then connections are never terminated.
This applies only when the pool has more than
minconnections open, allowing it to shrink to the specified minimum size. The default value is 0 seconds. A value of 0 means that there is no maximum time.This attribute is supported in both python-oracledb Thin and Thick modes.
- property PoolParams.wait_timeout: int
The length of time (in milliseconds) that a caller should wait when acquiring a connection from the pool with getmode set to
oracledb.POOL_GETMODE_TIMEDWAIT.This attribute is supported in both python-oracledb Thin and Thick modes.