IBM Support

Enabling Oracle pooling in WebSphere Application Server V6.1 and above

Technote (FAQ)


Question

How do you enable Oracle connection pooling in WebSphere® Application Server V6.1 and above?

Answer

Oracle connection pooling can only be enabled if oracle.jdbc.pool.OracleDataSource is used. That means, oracle.jdbc.pool.OracleConnectionPoolDataSource and oracle.jdbc.xa.client.OracleXADataSource, which WebSphere Application Server uses and list in its administrative console, cannot be used.
To create an OracleDataSource and use Oracle connection pooling, perform the following steps:

  1. Create a user defined provider. Use the following configuration:
    • Implementation class:
      oracle.jdbc.pool.OracleDataSource

    • Helper:
      com.ibm.websphere.rsadapter.Oracle10gDataStoreHelper

  2. Create a datasource, under the new provider created in step 1, with the following custom properties:

    disableWASConnectionPooling = true
    connectionCachingEnabled=true
    connectionCacheName=<your_cache_name>
    removeExistingOracleConnectionPoolIfExists = true
    URL = <Oracle_URL>

Note: You will need the removeExistingOracleConnectionPoolIfExists to be set to true in order to have WebSphere Application Server remove any existing Oracle connection pools with an identical name. Otherwise, Oracle will fail getConnection if the pool name to be created is identical to an existing one.

Limitations of Oracle connection pooling:
  • Does not support XA

  • Order of who the DS custom properties get set is important. This could become an issue as WebSphere Application Server passes the properties as a collection and hence the order is not guaranteed. If you hit this issue, you need to contact Oracle and reference TAR:6499673.994.

  • Oracle will not display a message if the pool creation fails, instead a normal connection is returned. Thus, you need to watch for that. You can confirm that pool is created by running your application and then trying to issue a testConnection. Test connection should fail with an exception that the Oracle pool name is already used. Note, however, that the testConnection must be executed in the same JVM (for example: server level) thus, you will need to create your datasource and provider in the server scope.

  • WebSphere Application Server does not certify with OracleDataSource but does support it (support falls under other configuration part of our support statement).

Document information

More support for: WebSphere Application Server
DB Connections/Connection Pooling

Software version: 6.1, 7.0

Operating system(s): AIX, HP-UX, Linux, Solaris, Windows

Software edition: Base, Network Deployment

Reference #: 1282204

Modified date: 08 October 2007