Last post Aug 04, 2014 01:54 PM by awolff
Aug 04, 2014 01:54 PM|awolff|LINK
The 11g version of Oracle brings for the first time the "Database Resident Connection Pool" (from now “DRCP”) functionality, a connection pool that resides at Oracle instance level.
DRCP complements middle-tier connection pools (such as ADO.Net) allowing sharing connections established from different executable processes, and even from different machines. Thus achieved share connections between different instances of
executable batch with monolithic code (not Multithreading) or WEB applications that run on different Web servers.
Unfortunately in my tests with 4.0 aplicaciones.Net I could not integrate this functionality of Oracle.
Further down in this post I present the technical details of the tests carried out with the aim that someone comes to do something different to make applications. Net to make use of Oracle DRCP
thanks in advance,
Oracle version that was used for the test:
select * from v $ version;
Oracle Database 11g Express Edition Release 22.214.171.124.0
I used the pool that is already preconfigured installation, just activated the pool with the following statement:
For applications that use the pool DRCP, I modified the tnsnames.ora file, the Oracle instance corresponding to the entry in which the test was performed.
As you can see below, the amendment was to add the string (SERVER = POOLED)
(ADDRESS = (PROTOCOL = TCP) (HOST = NBKAW) (PORT = 1521))
(SERVER = POOLED)
Then execute an application command line C # windows. Net 4.0 ("batch") using "microsoft ADO.Net" driver to communicate with Oracle
The application successfully executed SQL statements but..unfortunately the connection was not made of DRCP pool.
This could be verified by consulting the V$CPOOL_STATS dictionary view containing pool usage statistics:
select NUM_REQUESTS, NUM_HITS from V $ CPOOL_STATS;
The NUM_REQUESTS field indicates the number of connections that were established Oracle (regardless of whether they took the pool or not) and NUM_HITS field indicates, how many of these connections were made through DRCP pool.
In this case the program was executed 3 times and none of them used the pool, it would have been desirable to NUM_HITS is 3 instead of 0