IBM Support

Enabling Oracle pooling in WebSphere Application Server V8.5.5 and above

Question & Answer


Question

How do you enable Oracle connection pooling in WebSphere® Application Server V8.5.5 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:
disableWASConnectionPooling = true
connectionCachingEnabled=true
connectionCacheName=<your_cache_name>
removeExistingOracleConnectionPoolIfExists = true
URL = <Oracle_URL>
  1. Create a user defined provider. Use the following configuration:
    • Implementation class:
      oracle.jdbc.pool.OracleDataSource
       
    • Helper:
      com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper
       
  2. Create a datasource, under the new provider created in step 1, with the following custom properties:
     
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).

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Component":"DB Connections\/Connection Pooling","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"9.0;8.5.5","Edition":"Base;Network Deployment","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
17 November 2019

UID

swg21282204