Oracle offers 4 different JDBC connection pooling mechanisms when the OCI driver is used for JDBC connections:
- Oracle DataSource
- Oracle OCI Connection Pooling
- Oracle UCP (Universal connection pooling -recommended over OracleDataSource)
- Oracle Database Resident Connection pooling
What are the pros and cons of using Oracle UCP (Universal Connection Pooling) as compared to Oracle OCI Connection Pooling provided by the OCI driver?
I will try adding some details based on the reading I have done so far.
Below are some distinct features supported by the different connection pooling mechanisms
Oracle UCP (Universal Connection Pooling)
a. Supports features like Fast Connection Failover (FCF), Runtime connection load balancing and connection affinity.
b. JMX Support
c. Support for labelling connections
d. Support for connection harvesting
OCI (Oracle Call Interface) Connection Pooling
a. Support for session multiplexing.
OracleDataSource
a. Implicit connection cache.