Inactive connections piling up

We have a Web based application which accesses an Oracle 9.2.0.5 DB the same dsn/user/password is used to connect and connection pooling is enabled. Recently we have seen the number of connections grow to as many as 60 for the user. They are marked inactive but don't seem to get "cleaned up". As we walk through our programs against a test database we see the connections being opened and closed on the server without problems. Any ideas as to why connections would remain though we pair up each connect with a close?

First, just so we're clear, an INACTIVE session is merely a session that is not running a SQL statement at that instant. In an OLTP application, most sessions may be INACTIVE 90+% of the time, since they are waiting on user input.
Second, a connection will stay open until the client closes it. Unless the client has closed the session, it will not disappear.
If you are using connection pooling, a close() statement in your application merely returns the connection to the connection pool. If you are using ODBC, the ODBC Driver Manager will generally keep the connections open for at least a couple of minutes to see if another open() request comes through. If it does, the existing connection will be used to satisfy this new request. For this reason, you would expect that closing a connection from the application wouldn't close the physical database connection. Over time though, the number of simultaneous client sessions should roughly match the number of physical connections.
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC

Similar Messages

  • Forcibly releasing inactive connection  BEA-001153

    Hello there!, here at work we use Jdeveloper 11.1.3.0 , with JNDI Data Sources to access database (configured from WLS) My DataSource config is:
    <?xml version='1.0' encoding='UTF-8'?>
    <jdbc-data-source xmlns="http://xmlns.oracle.com/weblogic/jdbc-data-source" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/jdbc-data-source http://xmlns.oracle.com/weblogic/jdbc-data-source/1.0/jdbc-data-source.xsd">
      <name>arq</name>
      <jdbc-driver-params>
        <url>jdbc:oracle:thin:@192.168.101.**:1521/HLSEDB</url>
        <driver-name>oracle.jdbc.OracleDriver</driver-name>
        <properties>
          <property>
            <name>user</name>
            <value>dbadmin</value>
          </property>
        </properties>
        <password-encrypted>{AES}6mOLLY92ueqAFcFK3k29k/SUeCy/qgp1a9HGsHsCTg4=</password-encrypted>
      </jdbc-driver-params>
      <jdbc-connection-pool-params>
        <initial-capacity>1</initial-capacity>
        <max-capacity>15</max-capacity>
        <capacity-increment>1</capacity-increment>
        <shrink-frequency-seconds>900</shrink-frequency-seconds>
        <highest-num-waiters>2147483647</highest-num-waiters>
        <connection-creation-retry-frequency-seconds>0</connection-creation-retry-frequency-seconds>
        <connection-reserve-timeout-seconds>10</connection-reserve-timeout-seconds>
        <test-frequency-seconds>120</test-frequency-seconds>
        <test-connections-on-reserve>false</test-connections-on-reserve>
        <ignore-in-use-connections-enabled>true</ignore-in-use-connections-enabled>
        <inactive-connection-timeout-seconds>360</inactive-connection-timeout-seconds>
        <test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
        <login-delay-seconds>0</login-delay-seconds>
        <statement-cache-size>10</statement-cache-size>
        <statement-cache-type>LRU</statement-cache-type>
        <remove-infected-connections>true</remove-infected-connections>
        <seconds-to-trust-an-idle-pool-connection>10</seconds-to-trust-an-idle-pool-connection>
        <statement-timeout>-1</statement-timeout>
        <pinned-to-thread>false</pinned-to-thread>
      </jdbc-connection-pool-params>
      <jdbc-data-source-params>
        <jndi-name>jdbc/arq</jndi-name>
        <global-transactions-protocol>OnePhaseCommit</global-transactions-protocol>
      </jdbc-data-source-params>
    </jdbc-data-source>Minutes after deploying mi application, console starts to show :
    <JDBC> <BEA-001153> <Forcibly releasing inactive connection "weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection@22e" back into the connection pool "SegDS", currently reserved by: java.lang.Exception
         at weblogic.jdbc.common.internal.ConnectionEnv.setup(ConnectionEnv.java:318)
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:344)
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:322)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:438)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:317)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:93)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:106)
         at weblogic.jdbc.pool.Driver.connect(Driver.java:149)There's any best practice or guide to configure my Datasource? or we should avoid JNDI's and start to use only appmodule connection?
    Thanks !

    I found the answer for this issue, because "Inactive timeout connection" of "advanced" in "data sources" of welogic admin console set to 300 seconds, once we changed to "zero". This msg is gone.

  • Inactive connections in database

    Hi,
    I'm using Oracle 10 with my Weblogic 8.1. I'm having cluster environment with 3 managed servers. Each is having initial capacity of 30 connections in connection pool. Now when I see my oracle database, its showing 90 INACTIVE connections. What does that mean? Is it related to Weblogic? If yes, how?

    Hello.
    Well, connection pool are well describe at some good places, I will try. The WLS admin setup a connection pool which consist in a number of connection on a database with the same loginname/password.
    Those connections are opened on WLS startup and are ready for application use. When an application needs a connection, it asks for one, and WLS gives a already opened one. Doing so, you don't have to connect to the database each time, as the connection already exists.
    When the application is done with the connection, it releases it and this connections returns in pool.
    Rgds.

  • How does inactive connection timeout attribute in weblogic works ?

    Lets say If there is a connection leakage in my application running on weblogic server 10.3.4 and I want to regain the unclosed connection.
    After going through some documentation I found out that setting inactive connection timeout to a positive value can fix this issue.
    With setting the above attribute will the weblogic server close any connection object which is inactive for specified number of seconds or it acts on only
    those connection objects which has lost all the references to it ?
    demonstrating the query by an example ,
    Lets say I have two connection objects con1 & con2 taken from a defined datasource in the weblogic.
    the inactive timeout has been set to 10 seconds.
    In a given thread lets say con1 does some db operation and then after being done, con2 is used for another db operation for greater than 10 seconds.
    Will the object con1 be still available for db operation or we need to take a fresh connection from the pool ?
    Thanks,
    Tarique
    Edited by: user779368 on 30-May-2011 06:29

    Any connection that has been reserved by an application, and not used for longer than
    the inactive timeout limit, will be taken back by the pool. All it's sub-objects will be closed etc.
    In your case, you would lose con1 while con2 was being used. Ideally, you would get
    any/either of those connections at the instant you really need it. Then, ideally use it
    till you can close it. But if you are doing transactions or a job that need connections,
    but can't avoid having them idle for X seconds, then set your inactive timeout larger than X.

  • BC4J DO NOT RE-USE THE ''INACTIVE'' CONNECTIONS, DATABASE IS SATURATED

    We developed a J2EE Web application based on the BC4J Framework.
    We're using JDevelopper 9.0.3.2 (9.0.2.822 before). The web application is rolled out on Oracle
    9ias 9.0.2 patchset 3.
    The database used is oracle 9i 9.2.0.
    We used the following code to connect to the BC4J:
    public void openConnection() {
    m_appModule = null;
    while (m_appModule == null)
    try
    m_appModule =
    Configuration.createRootApplicationModule(
    m_sAppModuleName,m_sAppModuleConfigName);
    } catch (JboException e) {
    if
    (e.getErrorCode().equalsIgnoreCase(AMPoolMessageBundle.EXC_AMPOOL_COOK
    IE_ALREADY_EXISTS)){
    try {
    Thread.currentThread().sleep(5);
    } catch (InterruptedException m) {
    }else
    throw e;
    The following code closes the connection to the BC4J
    public void closeConnection() {
    Configuration.releaseRootApplicationModule(m_appModule,true);
    m_appModule = null;
    The pooling parameters are the same as the default ones in Jdevelopper.
    We noted that certain connections created by the BC4J in the database were
    turned "inactive" and were never re-used.
    After a certain time, "inactive" connections multiply and the database is
    completely saturated.
    The BC4J do not re-use the "inactive" connections but try to create new ones.
    The "inactive" connections that are never re-used are never killed.
    Our only solution is to reboot the database server or the application OC4J
    instance to suppress the "inactive" connections.
    We tried to configure the BC4J pool in Jdeveloper, but it doesn't work in 9IAS.
    Could you please clarify what the problem is? Looking forward to receiving your
    feedback on this pressing issue, regards.
    Stéphane CHEVALLET

    I'm hitting the same problem.
    have you managed to solve it ? please share your wisdom :)
    Best Regards
    Rui Madaleno

  • Inactive Connections Problems

    Hi,
    I have an ASp.NET (C#) application, using OLEDB driver, Oracle 9i. Using the normal string connection we have some problems, because when we close the connection, it still opened, inactive but opened in the DB. What should I do to kill the inactive connections?
    Thank's
    Message was edited by:
    JP®

    Hi Sergio,
    I found some answers here. Some people said that the right way to deal and end with Inactive Connections, is creating a new profile, and setting a value to the idle_time parameter, ex: idle_time=3, so after 3 minutes inactive the connection is severed. Or creating a procedure, and this procedure will deal and kill the inactive connections.
    I don't know what else I can do?
    But, I'm sorry, I thought that here is the right forum, thank you for the information, I'll post it in the right one.
    JP®

  • Inactive connections

    I am using Oracle, java, jsp, JNDI datasource look up for this web application. The application makes numerous connections with database, executes queries, load the results into arraylists or vectors and connections get closed as soon as the resultset is loaded into a collection object.
    when I was load testing, I found out several inactive connections in the database side. This is so puzzling. I have been struggling for more than I should.
    these are my datasource settings in my server.xml file:
    <ResourceParams name="jdbc/myoracle">
    <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
    <parameter>
    <name>driverClassName</name>
    <value>oracle.jdbc.driver.OracleDriver</value>
    </parameter>
    <parameter>
    <name>url</name>
    <value>jdbc:oracle:oci8:@mydb</value>
    </parameter>
    <parameter>
    <name>username</name>
    <value>user</value>
    </parameter>
    <parameter>
    <name>password</name>
    <value>pass</value>
    </parameter>
    <parameter>
    <name>maxActive</name>
    <value>20</value>
    </parameter>
    <parameter>
    <name>maxIdle</name>
    <value>20</value>
    </parameter>
    <parameter>
    <name>maxWait</name>
    <value>20000</value>
    </parameter>
    </ResourceParams>
    Please HELP!!!!!
    Suraj

    Hi,
    It may be due to the connection pooling used.
    A "closed" (to application context) connection is
    returned to the pool for later reused, (in database
    context, these connection is still open).
    May be can find out more from the dbcp API?Hi
    Anybody has any problems with this and has anybody found solutions?
    I am setting up the maxActive datasource parameter value as 20 and maxIdle parameter 20. but these parameters are getting completely ignored. when I load tested, there are 55 active and inactive connections together even after each time the connection, statement and resultset are closed.
    I think It is to do with tomcat. When I restart tomcat, all the connections disappear.
    Suraj

  • Oc4j connection pool: too much INACTIVE connections

    I am publishing an application - developed using Eclipse and previously published in Tomcat (where it works perfectly for a long time) - within corporate servers using Oc4j version 10.1.3. The database server is Oracle 9g.
    After the deployment operation, the application seems to work, but that happens during the work by users, there are still many connections whith status "INACTIVE", until to complete all the available connections.
    The datasource is set as follows:
    <connection-pool name="ConnectionPoolRichiestaPubblicazione">
    <connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
    user="REDAZIONE"
    password="password"
    url="jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=ON)
         (ADDRESS_LIST=(LOAD_BALANCE=ON)
         (ADDRESS=(PROTOCOL=TCP)
         (HOST=10.146.2.86)(PORT=1521))
         (ADDRESS=(PROTOCOL=TCP)(HOST=10.146.2.86)(PORT=1521)))
         (CONNECT_DATA=
    (SERVER=DEDICATED)
    (SERVICE_NAME=XE)
    (FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY=5))))">
    </connection-factory>
    </connection-pool>
    <managed-data-source
    jndi-name="jdbc/RichiestaPubblicazioneDS"
    name="RichiestaPubblicazioneDS"
    connection-pool-name="ConnectionPoolRichiestaPubblicazione" />
    The java code to establish a connection is as follows:
    private Connection creaConnessioneDataSource(String nomedatasource) throws ConnessioneException{
              LOGGER.debug("START");
              try {
                   InitialContext context = new InitialContext();
                   DataSource ds = (DataSource)context.lookup(nomedatasource);
                   LOGGER.debug("URL DATASOURCE : " + ds.getConnection().getMetaData().getURL());
                   LOGGER.debug("USERNAME : " + ds.getConnection().getMetaData().getUserName());
                   this.conn = ds.getConnection();
              catch( Exception e ) {
                   LOGGER.error("Errore nella connessione tramite datasource : " + StringUtils.getCustomStackTrace(e));
              LOGGER.debug("END");
              return this.conn;
    Connections and statements are closed using the following methods:
         public boolean chiudi(Connection conn){
              LOGGER.debug("START");
              boolean esito = false;
              if (conn != null){
                   try {
                        conn.close();
                        esito = true;
                        LOGGER.debug("Connessione chiusa");
                   catch (SQLException e) {
                        LOGGER.error("Eccezione nella chiusura della connessione : " + e);
              LOGGER.debug("END");
              return esito;
         public boolean chiudi(Statement stmt){
              LOGGER.debug("START");
              boolean esito = false;
              if (stmt != null){
                   try {
                        stmt.close();
                        esito = true;
                        LOGGER.debug("Statement chiuso");
                   } catch (SQLException e) {
                        LOGGER.error("Eccezione nella chiusura dello statement : " + e);
                        e.printStackTrace();
              LOGGER.debug("END");
              return esito;
    Here are a couple of examples of code that interact with the database:
         public List<StatoRichiestaSintesi> getElencoStatiRichieste() throws ConnessioneException{
              LOGGER.debug("START");
              List<StatoRichiestaSintesi> listaStati=new LinkedList<StatoRichiestaSintesi>();
              LOGGER.debug("Apriamo connessione e statement");
              Connection conn = databaseManager.creaConnessioneDataSource(datasource);
              Statement stmt = databaseManager.creaStatement(conn, false);
              String sql="SELECT * FROM STATORICHIESTA";
              try {
                   ResultSet rs = stmt.executeQuery(sql);
                   while(rs.next()){
                        StatoRichiestaSintesi temp=new StatoRichiestaSintesi();
                        temp.setIdStato(rs.getString(1));
                        temp.setDescrizioneStato(rs.getString(2));
                        listaStati.add(temp);
                   LOGGER.debug("Numero record trovati : " + listaStati.size());
              } catch (SQLException e) {
                   LOGGER.error("Eccezione di tipo SQL : " + StringUtils.getCustomStackTrace(e));
              finally{
                   LOGGER.debug("Chiusura di statement e connessione");
                   databaseManager.chiudi(stmt);
                   databaseManager.chiudi(conn);
              LOGGER.debug("END");
              return listaStati;
    Below is another example using PreparedStatement:
         private synchronized void aggiungiIndicazioneProgetto(String idprogetto, String idrichiesta) {
              LOGGER.debug("START");
              LOGGER.debug("Creo un oggetto di tipo connessione");
              Connection conn = databaseManager.creaConnessioneDataSource(datasource);
              LOGGER.debug("Definisco una query sql");
              String sql = "INSERT INTO RICHIESTAPROGETTO (IDRICHIESTA,IDPROGETTO) VALUES (?,?)";
              LOGGER.debug("Dichiaro un oggetto di tipo preparedstatement");
              PreparedStatement stmt = null;
              try {
                   LOGGER.debug("Istanzio l'oggetto statement");
                   stmt = conn.prepareStatement(sql);
                   LOGGER.debug("Imposto i segnalibri della query");
                   stmt.setString(1, idrichiesta);
                   stmt.setString(2, idprogetto);
                   LOGGER.debug("Eseguo la query di inserimento del progetto");
                   stmt.executeUpdate();
              } catch (SQLException e) {
                   LOGGER.error("Eccezione di tipo SQL : " + StringUtils.getCustomStackTrace(e));
              finally {
                   LOGGER.debug("Chiusura di statement e connessione");
                   databaseManager.chiudi(stmt);
                   databaseManager.chiudi(conn);
              LOGGER.debug("END");
         Which may be the cause for the described behavior?
         I hope someone help me..

    My problem is the following.
    If I deploy my application with the illustred datasource in my local OC4J (10.1.3 in a Standalone Environment) all work fine.
    The application creates a reasonable number of connections (in ORACLE - 10g Enterprise Edition Release 10.2.0.4.0 - db I run the query verification "select count(*) from v$session where username='MYAPPLICATION'"), and overall performance is very good.
    If, however, to deploy on the production machine of corporate (always 10.1.3, but obviously in Oracle Application Server Environment) the
    number of connections (status 'INACTIVE') grows massively, and this is saturated in a short time.
    The exception that at the end from the application is that:
    java.sql.SQLException: ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Linux Error: 2: No such file or directory
    oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
    oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
    oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:277)
    oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
    oracle.jdbc.driver.T4CTTIoauthenticate.receiveOsesskey(T4CTTIoauthenticate.java:243)
    oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:304)
    oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:430)
    oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:151)
    oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:608)
    oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:218)
    oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:114)
    oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:77)
    oracle.jdbc.pool.OracleImplicitConnectionCache.makeCacheConnection(OracleImplicitConnectionCache.java:1361)
    oracle.jdbc.pool.OracleImplicitConnectionCache.getCacheConnection(OracleImplicitConnectionCache.java:441)
    oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection(OracleImplicitConnectionCache.java:336)
    oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:286)
    oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:179)
    oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:159)
    oracle.oc4j.sql.DataSourceConnectionPoolDataSource.getPooledConnection(DataSourceConnectionPoolDataSource.java:57)
    oracle.oc4j.sql.xa.EmulatedXADataSource.getXAConnection(EmulatedXADataSource.java:92)
    oracle.oc4j.sql.spi.ManagedConnectionFactoryImpl.createXAConnection(ManagedConnectionFactoryImpl.java:211)
    oracle.oc4j.sql.spi.ManagedConnectionFactoryImpl.createManagedConnection(ManagedConnectionFactoryImpl.java:170)
    com.evermind.server.connector.ApplicationConnectionManager.createManagedConnection(ApplicationConnectionManager.java:1377)
    oracle.j2ee.connector.ConnectionPoolImpl.createManagedConnectionFromFactory(ConnectionPoolImpl.java:327)
    oracle.j2ee.connector.ConnectionPoolImpl.access$800(ConnectionPoolImpl.java:98)
    also I add the other attributes of Connection Pool of the Datasource:
    Connections:
    Initial size of Connection Cache = 0     
    Minimum Number of Connections = 0
    Maximum Number of Connections = -1
    Connection Retry Interval (seconds) = 1
    Maximum Connection Attempts = 3
    Maximum Number of Statements Cached = 0     
    Lower Threshold Limit On Pool (%)= 20     
    Validate Connection = False
    What I can do?
    many thanks..

  • JBO Problem - Open (inactive) Connections

    Hello,
    we uses JBO (10.1.3.40) and a normal data-source (oracle jdbc driver) in our java-projects. Our IAS-Administrator tells me now, that this project has many open connections. every time i do a request to the database the project opens a new connection, get the data und make this connection inactive. the connection is still open (but inactive). after some hours there are more than 200 connections open ....
    what can i do to use a normal connection pool with our JBO-projects?
    why are the connections still open??
    thanks
    steve

    For connection pooling in ADF BC please refer
    http://www.oracle.com/technology/products/jdev/howtos/10g/adfbc_perf_and_tuning.html#connectionpooling

  • JDBC OCI Inactive Connections

    Please Help,
    Database: Oracle 9.2.0.6
    JRE: 1.4.2
    Is there a way to timeout and close inactive JDBC connections to our database using a SQL*Net, Database Parameter or a JDBC configuration file?
    Thanks,
    Kirk

    Kirk,
    Apart from what Andrei told you, in the Oracle Call Interface forum, the Oracle 10g JDBC driver supports a "InactivityTimeout" property in the "oracle.jdbc.pool.OracleDataSource" class. I believe the 10g driver is compatible with the Oracle 9i database. Check out the following URL for more details:
    http://www.oracle.com/technology/tech/java/sqlj_jdbc/index.html
    Good Luck,
    Avi.

  • Oracle Inactive Connections after connection.close()

    Hi,
    I've the following problem: although I close the oracle connection, the connection is kept inactive (in the oracle enterprise manager console), and after a while the maximum number of connections is reached.
    I'm using the oracle oci8 driver (oracle 9.0.2).
    is there anything else that I need to do to realy close the db connections ?
    thanks,
    Jo�o Portela

    I don't know if this is your problem, but many programmers end up leaking connections by not handling the exceptions correctly.
    You need to be doing something like:
    try
    // get connection
    // do work
    con.commit();
    catch (Exception e)
    LOG.Error("Something bad happened");
    LOG.Error(e)
    finally
    con.close();
    In other words, use finally to gurantee execution of close...

  • Inactive connection in update rules

    Hello,
    How do I update my update rules for 0MATERIAL_ATTR in the production system (BW prod)?
    I have attempted to transport the update from dev. I have the info object in the uodate rules, but not the connection to the source field.
    How do I get the connection active in the update rules?
    Best regards,
    Fredrik

    Frederik,
        create new transport from DEV for Update Rules( Make some change in the description or some space in the routine). Transport this request to production it will be rectified.
    or try to import the previous transport again. When cube gets changed UR get deactivated. Try to reactivate the UR either by creating new transport or reimport the old one.
    Last week i faced the same problem. i reimported the same transport i sloved my problem. one time i created new transport for UR, i imported in Production it's activated my UR.
    all the best.
    Regards,
    Nagesh Ganisetti.

  • Best Method For Connection - JDev Team Help

    Hi,
    We are using a couple of different methods for obtaining a connection and pooling. I'm wondering what is the best method, though...if there is a preferred approach?
    One approach is getting the ApplicationModuleRef from the request. We then release the amref as true/true or true/false (pending of if we need to maintain state), but we definitely try to release true/false whenever possible.
    The other approach is using createRootApplicationModule. We then either release it back to the pool false or destroy it immediately w/ true.
    Is there a preferred approach between the two? We are constantly struggling with inactive sessions that are not getting cleaned up when they reach our timeout limit which is causing severe memory issues with our application. Is one of our methods for obtaining the connection and releasing perhaps causing our pooling issues?
    Any help on this would be greatly appreciated!
    Thanks!
    Andy Hamilton - TUSC

    That is exactly the problem and with 100+ users on the system at one time our connection count gets large quite rapidly. The issue only occurs though with sessions released true/true...they are never reused, just new connections piled on top.
    We are actually turning connection pooling on in hopes of it resolving our connection issues. Any idea though why if you release an amref true/true and then attempt to do a session.invalidate you would get this error:
    java.lang.NullPointerException     at oracle.jbo.server.DefaultTxnHandlerImpl.handleRollback(DefaultTxnHandlerImpl.java:125)     at oracle.jbo.server.DBTransactionImpl.doRollback(DBTransactionImpl.java:3417)     at oracle.jbo.server.DBTransactionImpl.rollback(DBTransactionImpl.java:1650)     at oracle.jbo.common.ampool.ApplicationPoolImpl.resetApplicationModule(ApplicationPoolImpl.java:885)     at oracle.jbo.common.ampool.ApplicationPoolImpl.removeSessionCookie(ApplicationPoolImpl.java:546)     at oracle.jbo.common.ampool.SessionCookieImpl.timeout(SessionCookieImpl.java:365)     at oracle.jbo.http.HttpSessionCookieImpl.timeout(HttpSessionCookieImpl.java:80)     at oracle.jbo.http.HttpContainer.fireTimeout(HttpContainer.java:516)     at oracle.jbo.http.HttpContainer.timeout(HttpContainer.java:241)     at oracle.jbo.http.HttpContainer.valueUnbound(HttpContainer.java:308)
    Thanks!
    Andy

  • SOA 11.1.1.3.0 - Connection Pool has been suspended during weak load

    Hi,
    I have a SCA with different BPEL, all uses several db adapters.
    Each db adapter has retry count set to 1.
    Each bpel has the following properties:
        <property name="bpel.config.transaction" many="false">required</property>
        <property name="bpel.config.inMemoryOptimization">true</property>
        <property name="bpel.config.completionPersistPolicy">off</property>When I do a simple load testing (with 10 concurrent threads invoking the same SCA webservice) my connection pool is suspended.
    Here is my connection pool configuration:
    <?xml version='1.0' encoding='UTF-8'?>
    <jdbc-data-source xmlns="http://xmlns.oracle.com/weblogic/jdbc-data-source" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/jdbc-data-source http://xmlns.oracle.com/weblogic/jdbc-data-source/1.0/jdbc-data-source.xsd">
      <name>DEV__DB</name>
      <jdbc-driver-params>
        <url>jdbc:oracle:thin:@10.17.5.50:1521:orcl</url>
        <driver-name>oracle.jdbc.xa.client.OracleXADataSource</driver-name>
        <properties>
          <property>
            <name>user</name>
            <value>DEV_</value>
          </property>
        </properties>
        <password-encrypted>{AES}UiaJC9d4Fl7jWHkcrYttu5E+wpOB4Jw1QKwTSA0ARtE=</password-encrypted>
        <use-xa-data-source-interface>true</use-xa-data-source-interface>
      </jdbc-driver-params>
      <jdbc-connection-pool-params>
        <initial-capacity>0</initial-capacity>
        <max-capacity>100</max-capacity>
        <capacity-increment>1</capacity-increment>
        <shrink-frequency-seconds>900</shrink-frequency-seconds>
        <highest-num-waiters>2147483647</highest-num-waiters>
        <connection-creation-retry-frequency-seconds>10</connection-creation-retry-frequency-seconds>
        <connection-reserve-timeout-seconds>10</connection-reserve-timeout-seconds>
        <test-frequency-seconds>300</test-frequency-seconds>
        <test-connections-on-reserve>true</test-connections-on-reserve>
        <ignore-in-use-connections-enabled>true</ignore-in-use-connections-enabled>
        <inactive-connection-timeout-seconds>0</inactive-connection-timeout-seconds>
        <test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
        <login-delay-seconds>0</login-delay-seconds>
        <statement-cache-size>100</statement-cache-size>
        <statement-cache-type>LRU</statement-cache-type>
        <remove-infected-connections>true</remove-infected-connections>
        <seconds-to-trust-an-idle-pool-connection>0</seconds-to-trust-an-idle-pool-connection>
        <statement-timeout>-1</statement-timeout>
        <jdbc-xa-debug-level>10</jdbc-xa-debug-level>
        <pinned-to-thread>false</pinned-to-thread>
      </jdbc-connection-pool-params>
      <jdbc-data-source-params>
        <jndi-name>jdbc/soSvilDB</jndi-name>
        <global-transactions-protocol>TwoPhaseCommit</global-transactions-protocol>
      </jdbc-data-source-params>
      <jdbc-xa-params>
        <keep-xa-conn-till-tx-complete>true</keep-xa-conn-till-tx-complete>
        <need-tx-ctx-on-close>false</need-tx-ctx-on-close>
        <xa-end-only-once>false</xa-end-only-once>
        <keep-logical-conn-open-on-release>false</keep-logical-conn-open-on-release>
        <resource-health-monitoring>true</resource-health-monitoring>
        <recover-only-once>false</recover-only-once>
        <xa-set-transaction-timeout>false</xa-set-transaction-timeout>
        <xa-transaction-timeout>0</xa-transaction-timeout>
        <rollback-local-tx-upon-conn-close>false</rollback-local-tx-upon-conn-close>
        <xa-retry-duration-seconds>300</xa-retry-duration-seconds>
        <xa-retry-interval-seconds>60</xa-retry-interval-seconds>
      </jdbc-xa-params>
    </jdbc-data-source>Here is the error:
    [2011-04-22T12:36:52.026+02:00] [OJDL] [NOTIFICATION:16] [ODL-52001] [oracle.core.ojdl.FileLogWriter] [org: Oracle] [host: soa.linux55.reply] [nwaddr: 10.17.5.69] [tid: [ACTIVE].ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oracle] deleting log file: soa_server1-diagnostic-179.log, size: 10485438 bytes
    [2011-04-22T12:36:51.985+02:00] [soa_server1] [ERROR] [] [oracle.soa.mediator.serviceEngine] [tid: [ACTIVE].ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000Ixwm9CqEcLH5yvs1yW1DgLRV000081,0] [WEBSERVICE_PORT.name: AlarmsRetrieverPortType_pt] [APP: soa-infra] [composite_name: AlarmRetreiverProject] [component_name: AlarmRetrieverMediator] [component_instance_id: 6E8716B06CCC11E0AF65F721A176C6C2] [J2EE_MODULE.name: fabric] [dcid: 0f2f96dd491b9522:5032bc97:12f7cbc8b1d:-7ffc-0000000000001701] [WEBSERVICE.name: AlarmRetrieverMediator_ep] [J2EE_APP.name: soa-infra] [composite_instance_id: 250014] Got an exception: oracle.fabric.common.FabricInvocationException: faultName: {{http://schemas.oracle.com/bpel/extension}remoteFault}[[
    parts: {{
    summary=<summary>Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'GetTrainAlarms_dba' failed due to: Pure SQL Exception.
    Pure SQL Execute of select aa.* from <OMITTED>
    Caused by java.sql.SQLException: Internal error: Cannot obtain XAConnection weblogic.common.resourcepool.ResourceDisabledException: Pool DEV__DB is Suspended, cannot allocate resources to applications..
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:357)
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:440)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:317)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:93)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:61)
         at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1670)
         at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1438)
         at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:439)
         at weblogic.jdbc.jta.DataSource.connect(DataSource.java:396)
         at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:355)
         at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:126)
         at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:94)
         at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
         at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:327)
         at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:295)
         at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.reconnect(DatasourceAccessor.java:558)
         at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.reconnect(DatabaseAccessor.java:1437)
         at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.incrementCallCount(DatasourceAccessor.java:303)
         at oracle.tip.adapter.db.DBConnection.getTopLinkSQLConnection(DBConnection.java:335)
         at oracle.tip.adapter.db.transaction.DBTransaction.beginInternal(DBTransaction.java:126)
         at oracle.tip.adapter.db.puresql.PureSQLInteraction.executePureSQL(PureSQLInteraction.java:165)
         at oracle.tip.adapter.db.DBInteraction.executePureSQL(DBInteraction.java:1178)
         at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:255)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:303)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeJcaReference(JCAInteractionInvoker.java:519)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeSyncJcaReference(JCAInteractionInvoker.java:492)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.performSynchronousInteraction(JCAEndpointInteraction.java:472)
         at oracle.integration.platform.blocks.adapter.AdapterReference.request(AdapterReference.java:166)
         at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
         at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
         at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
         at sun.reflect.GeneratedMethodAccessor925.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy284.request(Unknown Source)
         at oracle.fabric.CubeServiceEngine.requestToMesh(CubeServiceEngine.java:797)
         at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:262)
         at com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke(InvokeHandler.java:1073)
         at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke(InvokeHandler.java:526)
         at com.collaxa.cube.engine.ext.common.InvokeHandler.handle(InvokeHandler.java:127)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:70)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:162)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2465)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1133)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:219)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:327)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4350)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4282)
         at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:713)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:545)
         at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:108)
         at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvokeParticipate(CubeEngineBean.java:186)
         at sun.reflect.GeneratedMethodAccessor930.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
         at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106)
         at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:106)
         at sun.reflect.GeneratedMethodAccessor833.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
         at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
         at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy282.syncCreateAndInvokeParticipate(Unknown Source)
         at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.syncCreateAndInvokeParticipate(BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.java:328)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.callCreateAndInvoke(DeliveryHandler.java:788)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:528)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:487)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:162)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.request(CubeDeliveryBean.java:607)
         at sun.reflect.GeneratedMethodAccessor933.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
         at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106)
         at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:106)
         at sun.reflect.GeneratedMethodAccessor833.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
         at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
         at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy279.request(Unknown Source)
         at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.request(BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.java:462)
         at oracle.fabric.CubeServiceEngine.request(CubeServiceEngine.java:358)
         at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
         at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
         at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
         at sun.reflect.GeneratedMethodAccessor925.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy284.request(Unknown Source)
         at oracle.tip.mediator.serviceEngine.MediatorServiceEngine.request2Mesh(MediatorServiceEngine.java:1063)
         at oracle.tip.mediator.service.BaseActionHandler.requestProcess(BaseActionHandler.java:202)
         at oracle.tip.mediator.service.BaseActionHandler.requestProcess(BaseActionHandler.java:94)
         at oracle.tip.mediator.service.BaseActionHandler.requestProcess(BaseActionHandler.java:74)
         at oracle.tip.mediator.service.SyncRequestResponseHandler.process(SyncRequestResponseHandler.java:79)
         at oracle.tip.mediator.service.ActionProcessor.onMessage(ActionProcessor.java:64)
         at oracle.tip.mediator.dispatch.MessageDispatcher.executeCase(MessageDispatcher.java:140)
         at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processCase(InitialMessageDispatcher.java:495)
         at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processCases(InitialMessageDispatcher.java:393)
         at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processNormalCases(InitialMessageDispatcher.java:276)
         at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processCases(InitialMessageDispatcher.java:251)
         at oracle.tip.mediator.dispatch.InitialMessageDispatcher.dispatch(InitialMessageDispatcher.java:148)
         at oracle.tip.mediator.serviceEngine.MediatorServiceEngine.process(MediatorServiceEngine.java:860)
         at oracle.tip.mediator.serviceEngine.MediatorServiceEngine.request(MediatorServiceEngine.java:716)
         at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
         at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
         at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
         at sun.reflect.GeneratedMethodAccessor925.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:59)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy284.request(Unknown Source)
         at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.doMessageProcessing(WebServiceEntryBindingComponent.java:1169)
         at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.processIncomingMessage(WebServiceEntryBindingComponent.java:768)
         at oracle.integration.platform.blocks.soap.FabricProvider.processMessage(FabricProvider.java:113)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1168)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:996)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:562)
         at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:222)
         at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:186)
         at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:430)
         at oracle.integration.platform.blocks.soap.FabricProviderServlet.doPost(FabricProviderServlet.java:477)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    </summary>
    ,detail=<detail>Internal error: Cannot obtain XAConnection weblogic.common.resourcepool.ResourceDisabledException: Pool DEV__DB is Suspended, cannot allocate resources to applications..
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:357)
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:440)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:317)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:93)
    </detail>
    ,code=<code>0</code>}
    oracle.tip.mediator.infra.exception.MediatorException: ORAMED-03303:[Unexpected exception in case execution]Unexpected exception in request response operation "process" on reference "DEV_bpel_client". Possible Fix:Check whether the reference service is properly configured and running or look at exception for analysing the reason or contact oracle support.
         at oracle.tip.mediator.service.SyncRequestResponseHandler.handleFault(SyncRequestResponseHandler.java:215)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: oracle.fabric.common.FabricInvocationException: faultName: {{http://schemas.oracle.com/bpel/extension}remoteFault}I configured it using the Oracle User Guide For Technology Adapters, paragraph 2.21, but I still have the issue.
    Please can someone help me out?

    Also, the strange thing is that if I monitor the Datasource (that has a 100 conn. capacity) I see that it is not overloaded:
    Server Sorted Ascending      Enabled      State      JDBC Driver      Active Connections Average Count      Active Connections Current Count      Active Connections High Count      Connection Delay Time      Connections Total Count      Curr Capacity High Count      Current Capacity      Failed Reserve Request Count      Failures To Reconnect Count      Highest Num Available      Leaked Connection Count      Num Available      Num Unavailable      Prep Stmt Cache Add Count      Prep Stmt Cache Current Size      Prep Stmt Cache Delete Count      Prep Stmt Cache Hit Count      Prep Stmt Cache Miss Count      PrepStmt Cache Access Count      Reserve Request Count      Wait Seconds High Count      Waiting For Connection Current Count      Waiting For Connection Failure Total      Waiting For Connection High Count      Waiting For Connection Success Total      Waiting For Connection Total
    soa_server1     false     Suspended     oracle.jdbc.xa.client.OracleXADataSource     0     9     9     19049     36     10     9     81     0     10     0     0     9     18     18     0     0     18     18     380     0     0     0     0     35     0

  • Connection error while defining a IT resource for SQLServer

    Hello,
    I am new to the OIM. I am trying to provision users to a SQLServer database. I installed the DBConnector successfully, but while defining a ITResource (of type 'DBUM ITResource definition') for SQLServer from Web UI, I am getting this error.
    Test connectivity is not supported for the IT resource type DBUM ITResource definition
    Click Back to correct the connection parameters and re-test connection or click Continue to create the IT Resource anyway
    Here are the parameters I am providing. I am sure I am entering the correct uid and pwd for the database.
    Abandoned connection timeout :900
    Admin ID : testUser
    Admin Password : testPassword
    Configuration : Lookup.DBUM.MSSQL.Configuration
    Connection pooling supported : False
    Connection Properties :
    Connection Retries : 2
    Connection Timeout : 1000
    Connection wait timeout : 60
    Database Driver : com.microsoft.sqlserver.jdbc.SQLServerDriver
    Database Name : testDatabase
    Inactive connection timeout : 300
    Initial pool size : 3
    isSecure : No
    JDBC URL : jdbc:sqlserver://SQLServerHost;database=testDatabase
    Max pool size : 30
    Min pool size : 2
    Native connection pool class definition :
    Pool excluded fields : Configuration Lookup
    Pool preference : Default
    ResourceConnection class definition : oracle.iam.connectors.dbum.common.db.util.DBUMResourceConnectionImpl
    Retry Interval : 1000
    Target supports only one connection : False
    Timeout check interval : 30
    Validate connection on borrow : true
    Thanks!
    Kabi

    Hi,
    I setup the trace of com.waveset.adapter.ScriptedConnection.
    the log message is following, what's reason of prblem? please help.
    20070723 16:16:47.937 httpWorkerThread-8080-4(0x01341244) ScriptedConnectionPool#getConnection() Entry no args
    20070723 16:16:47.937 httpWorkerThread-8080-4(0x01341244) ScriptedConnectionPool#getConnection() Exit void
    20070723 16:16:47.938 httpWorkerThread-8080-4(0x01341244) TelnetConnection#connect() Entry no args
    20070723 16:16:47.938 httpWorkerThread-8080-4(0x01341244) TelnetConnection#connect() Exit void
    20070723 16:16:47.938 httpWorkerThread-8080-4(0x01341244) ScriptedConnection#runScript(Script) Entry no args
    20070723 16:16:47.938 httpWorkerThread-8080-4(0x01341244) ScriptedConnection#processWaitFor() Entry no args
    20070723 16:16:47.939 httpWorkerThread-8080-4(0x01341244) ScriptedConnection#refreshUnprocessedInput(int, int, String, boolean) Entry no args
    20070723 16:17:57.990 httpWorkerThread-8080-4(0x01341244) ScriptedConnection#processWaitFor() Info Script failed waiting for "LOGIN:" with the following unprocessed text: ""

Maybe you are looking for