Bug in WLS 6.1 DataSource + Oracle Pool

Does any one has arrived to execute an Oracle Stored procedure which
return a CURSOR in response with JDBC through the DataSource?
It's working perfectly with WLS 5.1sp9 to 6.0sp2
and NOT with the 6.1 (even sp1) ...
Exception : weblogic.jdbc.rmi.internal.ResultSetImpl
Any idea ?
Best regards.

Does any one has arrived to execute an Oracle Stored procedure which
return a CURSOR in response with JDBC through the DataSource?
It's working perfectly with WLS 5.1sp9 to 6.0sp2
and NOT with the 6.1 (even sp1) ...
Exception : weblogic.jdbc.rmi.internal.ResultSetImpl
Any idea ?
Best regards.

Similar Messages

  • Using Oracle pooling in 10.2 with ingres datasource

    Hi;
    I'm trying to use Oracle Pooling in 10.2 using OracleConnectionCacheManager class with ingres database.
    I got the following exception:
    java.sql.SQLException: Invalid Oracle URL specified
    The URL i'm using is:
    jdbc:edbc://HOST:TM7/DATABASE
    When i'm using the same URL with Class.forname() it's working fine!
    I don't know what i'm missing.
    Any Help?
    Thanks in advance.

    yes we have a standalone version of 10g being converted to RAC mode..
    old version
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    converted to
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
    With the Partitioning, Real Application Clusters, OLAP and Data Mining options
    i understand the binaries would be different, but are the libraries different too?

  • ConnectionPool problems with WLS 7.0 and Oracle 9.2

    Hi,
    We are using WLS 7.0 SP4, and Oracle 9 and the Oracle thin driver type 4. In our
    application on the productive system (and only there) we constantly encounter
    a whole set of SQLExceptions which have all in common that the Connection from
    the pool is not valid any more when the application tries to use it.
    Typical, recurring error messages are:
    - Exhausted ResultSet
    - Connection has already been closed
    - Closed Statement
    - Transaction is no longer active - status committing
    - NullPointerException at
    weblogic.jdbc.pool.Connection.prepareStatement()
    There are no special Statements which create these errors. They are spread at
    random across practically every query the application creates, and the same queries
    sometimes succeed and sometimes fail.
    I double and triple checked that all Connections, Statements and ResultSets are
    closed immediately after use. As an example, I attached a code snippet and a resulting
    StackTrace which.
    The problem also seems to occur only with an (unknown) minimum of concurrent usern,
    since in the approval tests on an almost identical test system these errors never
    occurred.
    I also followed the advice from Oracle and installed the latest Oracle JDBC driver
    (Oracle 10g) - to no avail.
    What else can I do?
    Another question: Is it correct that my Oracle JDBC driver is in the application
    classpath (via a reference in the Manifest file of the application jar), not in
    the system classpath? There has never been a problem with that, but in a Newsgroup
    answer from Nov 10, 2003 (subject: "ResultSet closes prematurely"), Joe Weinstein
    suggested to "get it listed at the
    front of the -classpath argument that the startWebLogic script creates for the
    java line that starts the server".
    I hesitate to do so, since the driver is in a standard WebApp- directory, WEB-INF/lib.
    Is it possible and safe to add a jar located there to the system classpath? If
    it is possible, why is it necessary?
    Best regards,
    Andreas Zehrt
    [CodeSnippetsAndStackTraceForConnectionPoolProblem.txt]

    Andreas Zehrt wrote:
    Hi Joe,
    Your hint that there is a threading problem was right:
    On further investigation of the code I found out that the class that passes the
    Connection to the DAO not only stores it as a member at some point (which is not
    a good idea anyway) but is also a singleton - then, of course, it's no surprise
    that the Connection gets invalid in a incalculable way when concurrent threads
    share it.
    The singleton instantiation was not so obvious because the way of instantiation
    is controlled by a configuration parameter that can be overridden at different
    levels.
    I changed it and the productive logfiles indicate that the SQLExceptions related
    to that class have disappeared.I am happy to have helped.
    So, thanks a lot for the advice.
    But I am still wondering why this code has worked for so long a time with WLS
    5.1 and Oracle 8 (the system has been productive for over 2 years). Even in the
    approval tests with WLS 7.0 and Oracle 9, we did not run into problems, although
    it was multi-user environment.Mo idea.
    I still believe that there is a difference between WLS 5.1 and 7.0 in the way
    it treats pooled Oracle JDBC Connections. I wished both Oracle and Bea could be
    a little more explicit about those changes and possible version incompatabilities
    beyond the general advice "use the latest thin driver".Though I can think of no change to our pooling which would have had any material
    effect in this case, I will certainly do what I can to see that our documentation
    is explicit about changes.
    Joe
    Best regards, Andreas
    Joe Weinstein <[email protected]> wrote:
    Hi Andreas.
    Andreas Zehrt wrote:
    Hi,
    We are using WLS 7.0 SP4, and Oracle 9 and the Oracle thin driver type4. In our
    application on the productive system (and only there) we constantlyencounter
    a whole set of SQLExceptions which have all in common that the Connectionfrom
    the pool is not valid any more when the application tries to use it.
    Typical, recurring error messages are:
    - Exhausted ResultSetThat is typically if the statement that created it is either re-executed
    or closed.
    - Connection has already been closedAs described. If you give a stacktrace, we could make a debug patch which
    would show
    where it was originally closed.
    - Closed Statementsame as above.
    - Transaction is no longer active - status committingThat implies your code is obtaining a connection from a transactional
    datasource,
    and then later trying to use it after the transaction which it was associated
    with,
    is finished.
    - NullPointerException at
    weblogic.jdbc.pool.Connection.prepareStatement()Maybe any of the above.
    There are no special Statements which create these errors. They arespread at
    random across practically every query the application creates, andthe same queries
    sometimes succeed and sometimes fail.
    I double and triple checked that all Connections, Statements and ResultSetsare
    closed immediately after use. As an example, I attached a code snippetand a resulting
    StackTrace which.
    The problem also seems to occur only with an (unknown) minimum of concurrentusern,
    since in the approval tests on an almost identical test system theseerrors never
    occurred.
    I also followed the advice from Oracle and installed the latest OracleJDBC driver
    (Oracle 10g) - to no avail.
    What else can I do?
    Another question: Is it correct that my Oracle JDBC driver is in theapplication
    classpath (via a reference in the Manifest file of the applicationjar), not in
    the system classpath? There has never been a problem with that, butin a Newsgroup
    answer from Nov 10, 2003 (subject: "ResultSet closes prematurely"),Joe Weinstein
    suggested to "get it listed at the
    front of the -classpath argument that the startWebLogic script createsfor the
    java line that starts the server".
    I hesitate to do so, since the driver is in a standard WebApp- directory,WEB-INF/lib.
    Is it possible and safe to add a jar located there to the system classpath?If
    it is possible, why is it necessary?I was only concerned to ensure we know which driver we are working with.
    We also ship
    an oracle thin driver, which becomes obsolete soon...
    I am concerned that your code creates pool connections to be used later.
    The problems
    can arise if more than one thread ever gets the same connection, or if
    the connection
    is used in the same thread, spanning transactions. It does also seem
    that there may
    be a threading issue, because if two threads each call the code to create
    a connection,
    and two connections are made, but one over-writes the other, the two
    threads can
    end up using the same connection, and closing it. The over-written one
    never gets closed,
    resulting in that leak message you got...
    Joe
    The Connection parameter is opened by a business component class, ComaServiceProviderClassicImpl.It is propagated through
    several classes in the business layer, but not used, until the DAOtakes it to make the query.
    So, the Connection is closed where it was opened, not in the DAO class.
    public class ConcernDAOImpl extends BaseDAO {
         public Collection getConcernsForIncidents(Connection conn, Collectionincidents)
    throws DataAccessException, ConstraintException, ComaParseException{>
    sqlMessage.append(")");
    String sqlStmt = sqlMessage.toString();
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
    pstmt = conn.prepareStatement(sqlStmt);
    rs = pstmt.executeQuery();
    while (rs != null && rs.next()) {
    final Concern concern =
    new Concern(DAOUtil.getComaOID(rs, ComaDBNames.KDANR));
    concern.setIncidentOID(DAOUtil.getComaOID(rs, ComaDBNames.KDAVGENR));
    return concerns;
    } catch (SQLException sqle) {
    // Wrapps real SQL exception
    String[] message = new String[]{sqle.getMessage(), sqlStmt};
    throw new DataAccessException(ExpCode.S_ORACLE_SQL, message,
    sqle);
    } finally {
    closeAll(rs, pstmt);
    _logger.exitDebug(method);
    Here, the Connection is acquired and finally closed
    public class ComaServiceProviderClassicImpl {
         public void updateComplaint(
    final Request updateRequest,
    final ResponseSingleElement response,
    final Principal principal)
    throws SystemException {
    try {
    logger.info("updateComplaint", "store incident");
    // store the incident in the database
    incidentManager.storeIncident(getConnection(), updateIncident);
    // reload the incident from Cache and / or the databaseto get the ContactReferences.
    Incident returnIncident = incidentManager.loadIncident(//IncidentManager passes the Connection to the DAO
    getConnection(), updateIncident.getOID());
    } catch (RemoteException rex) {
    // remote exceptions
    rollbackIfNecessary();
    CoreUtils.unwrapRemoteException(rex, logger);
    } catch (SystemException e) {
    // all other exceptions --> rollback if necessary and rethrow
    rollbackIfNecessary();
    throw e;
    } finally {
    removeConnection();
    logger.exitDebug("updateComplaint");
    This is the resulting StackTrace:
    sql exception: [Closed Statement: next] - sql statement: [select *
         at de.deutschepost.ubbrief.coma.persistence.dao.ConcernDAOImpl.getConcernsForIncidents(ConcernDAOImpl.java:363)
         at de.deutschepost.ubbrief.coma.persistence.dao.CachingConcernDAOImpl.getConcernsForIncidents(CachingConcernDAOImpl.java:129)
         at de.deutschepost.ubbrief.coma.persistence.incidentmanager.IncidentManagerImpl.loadConcernStructuresIntoIncidents(IncidentManagerImpl.java:1067)
         at de.deutschepost.ubbrief.coma.persistence.incidentmanager.IncidentManagerImpl.loadStructureForIncident(IncidentManagerImpl.java:320)
         at de.deutschepost.ubbrief.coma.persistence.incidentmanager.IncidentManagerImpl.loadIncidents(IncidentManagerImpl.java:264)
         at de.deutschepost.ubbrief.coma.persistence.taskmanager.TaskManagerImpl.selectTasksForUser(TaskManagerImpl.java:299)
         at de.deutschepost.ubbrief.coma.service.z2.ComaServiceProviderZ2Impl.getTaskList(ComaServiceProviderZ2Impl.java:113)
         at de.deutschepost.ubbrief.coma.service.z2.ComaServiceProviderZ2Bean_1dhrj7_EOImpl.getTaskList(ComaServiceProviderZ2Bean_1dhrj7_EOImpl.java:154)
         at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList.runServiceMethod(CMPGetTaskList.java:64)
         at de.deutschepost.ubbrief.coma.sbbx.sp.BasicMethodProvider.execute(BasicMethodProvider.java:145)
         at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList_9b9mv5_EOImpl.execute(CMPGetTaskList_9b9mv5_EOImpl.java:46)
         at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList_9b9mv5_EOImpl_WLSkel.invoke(UnknownSource)
         at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:159)
         at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:263)
         at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:230)
         at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList_9b9mv5_EOImpl_WLStub.execute(UnknownSource)
         at de.deutschepost.ubbrief.backbone.jazz.impl.core.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:115)
         at de.deutschepost.ubbrief.backbone.common.impl.core.rpc.server.ServerKernelImpl.handleTransportMessage(ServerKernelImpl.java:270)
         at de.deutschepost.ubbrief.backbone.common.impl.core.messaging.MessageTransport.handleMessage(MessageTransport.java:454)
         at de.deutschepost.ubbrief.backbone.common.impl.core.KernelFacade.handleMessage(KernelFacade.java:209)
         at de.deutschepost.ubbrief.backbone.jazz.impl.backbone.BackboneBean.messageArrived(BackboneBean.java:637)
         at de.deutschepost.ubbrief.backbone.jazz.impl.backbone.BackboneBean_ina9d7_ELOImpl.messageArrived(BackboneBean_ina9d7_ELOImpl.java:105)
         at de.deutschepost.ubbrief.backbone.jazz.impl.transport.receive.LocalQueueReceiveBean.deliverMessage(LocalQueueReceiveBean.java:43)
         at de.deutschepost.ubbrief.backbone.jazz.impl.transport.receive.AbstractMessageReceiveBean.onMessage(AbstractMessageReceiveBean.java:127)
         at weblogic.ejb20.internal.MDListener.execute(MDListener.java:377)
         at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:311)
         at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:286)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2351)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:2267)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:234)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:210)
    ####<May 26, 2004 12:18:43 PM CEST> <Warning> <JDBC> <S0048016> <REMA20Z><Finalizer> <kernel identity> <> <001074> <A JDBC pool connection leak
    was detected. A Connection leak occurs when a connection obtained from
    the pool was not closed explicitly by calling close() and then was disposed
    by the garbage collector and returned to the connection pool. The following
    stack trace at create shows where the leaked connection was created.
    Stack trace at connection create:
         at weblogic.jdbc.pool.Connection.<init>(Connection.java:66)
         at weblogic.jdbc.pool.Driver.allocateConnection(Driver.java:294)
         at weblogic.jdbc.pool.Driver.connect(Driver.java:210)
         at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:373)
         at weblogic.jdbc.jts.Driver.connect(Driver.java:129)
         at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:287)
         at de.deutschepost.ubbrief.coma.core.ComaComponentImpl.getConnectionFromPool(ComaComponentImpl.java:163)
         at de.deutschepost.ubbrief.coma.core.ComaComponentImpl.getConnectionInternal(ComaComponentImpl.java:135)
         at de.deutschepost.ubbrief.coma.core.ComaComponentImpl.getConnection(ComaComponentImpl.java:99)
         at de.deutschepost.ubbrief.coma.persistence.customermanager.CurryCustomerManagerImpl.findCustomers(CurryCustomerManagerImpl.java:73)
         at de.deutschepost.ubbrief.coma.service.z2.ComaServiceProviderZ2BaseImpl.resolveCustomerInstances(ComaServiceProviderZ2BaseImpl.java:808)
         at de.deutschepost.ubbrief.coma.service.z2.ComaServiceProviderZ2Impl.getTaskList(ComaServiceProviderZ2Impl.java:213)
         at de.deutschepost.ubbrief.coma.service.z2.ComaServiceProviderZ2Bean_1dhrj7_EOImpl.getTaskList(ComaServiceProviderZ2Bean_1dhrj7_EOImpl.java:154)
         at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList.runServiceMethod(CMPGetTaskList.java:64)
         at de.deutschepost.ubbrief.coma.sbbx.sp.BasicMethodProvider.execute(BasicMethodProvider.java:145)
         at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList_9b9mv5_EOImpl.execute(CMPGetTaskList_9b9mv5_EOImpl.java:46)
         at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList_9b9mv5_EOImpl_WLSkel.invoke(UnknownSource)
         at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:159)
         at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:263)
         at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:230)
         at de.deutschepost.ubbrief.coma.sbba.z2.CMPGetTaskList_9b9mv5_EOImpl_WLStub.execute(UnknownSource)
         at de.deutschepost.ubbrief.backbone.jazz.impl.core.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:115)
         at de.deutschepost.ubbrief.backbone.common.impl.core.rpc.server.ServerKernelImpl.handleTransportMessage(ServerKernelImpl.java:270)
         at de.deutschepost.ubbrief.backbone.common.impl.core.messaging.MessageTransport.handleMessage(MessageTransport.java:454)
         at de.deutschepost.ubbrief.backbone.common.impl.core.KernelFacade.handleMessage(KernelFacade.java:209)
         at de.deutschepost.ubbrief.backbone.jazz.impl.backbone.BackboneBean.messageArrived(BackboneBean.java:637)
         at de.deutschepost.ubbrief.backbone.jazz.impl.backbone.BackboneBean_ina9d7_ELOImpl.messageArrived(BackboneBean_ina9d7_ELOImpl.java:105)
         at de.deutschepost.ubbrief.backbone.jazz.impl.transport.receive.LocalQueueReceiveBean.deliverMessage(LocalQueueReceiveBean.java:43)
         at de.deutschepost.ubbrief.backbone.jazz.impl.transport.receive.AbstractMessageReceiveBean.onMessage(AbstractMessageReceiveBean.java:127)
         at weblogic.ejb20.internal.MDListener.execute(MDListener.java:377)
         at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:311)
         at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:286)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2351)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:2267)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:234)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:210)

  • Shared Services API - Error when getting datasource weblogic/pool/PooledConnectionDataSource

    Hello,
    I have a program that connects to shared services using Java APIs. The code is usually working fine on other environment.
    This one is on EPM version 11.1.2.1 and I get an error after this procedure --> system = CSSSystem.getInstance(context, "");
    Jan 27, 2015 9:36:44 AM com.hyperion.hit.registry.RegistryUtils buildConnFromDriverManager
    WARNING: Check whether Oracle Home and Instance environment variables are defined appropriately. RootCause : weblogic.jdbc.sqlserver
    .SQLServerDriver
    Error when getting datasource weblogic/pool/PooledConnectionDataSource
    Jan 27, 2015 9:36:44 AM com.hyperion.hit.registry.RegistryUtils createNewConnection
    SEVERE: Failed to create connection from data source. RootCause:weblogic/pool/PooledConnectionDataSource.
    Jan 27, 2015 9:36:44 AM com.hyperion.hit.registry.exceptions.RegistryException <init>
    INFO: Registry Exception Occured - Failed to create new database connection using datasource.RootCause:[weblogic/pool/PooledConnecti
    onDataSource]
    Jan 27, 2015 9:36:44 AM com.hyperion.hit.registry.Registry lookupComponentsWithException
    INFO: EPMREG-11045
    Jan 27, 2015 9:36:44 AM com.hyperion.hit.registry.exceptions.RegistryException <init>
    INFO: Registry Exception Occured - Failed to create new database connection using datasource.RootCause:[weblogic/pool/PooledConnecti
    onDataSource]
    Jan 27, 2015 9:36:44 AM com.hyperion.hit.registry.Registry lookupWithException
    INFO: EPMREG-11038
    Jan 27, 2015 9:36:44 AM com.hyperion.hit.registry.exceptions.RegistryException <init>
    INFO: Registry Exception Occured - com.hyperion.hit.registry.exceptions.RegistryException: Failed to create new database connection
    using datasource.RootCause:[weblogic/pool/PooledConnectionDataSource]
    Jan 27, 2015 9:36:44 AM com.hyperion.hit.registry.Registry lookup
    INFO: EPMREG-11038
    Jan 27, 2015 9:36:44 AM com.hyperion.css.registry.RegistryManager RegistryManager
    SEVERE: Failed to initialize EPM Shared Services security instance. Component SYSTEM9/FOUNDATION_SERVICES_PRODUCT/SHARED_SERVICES_PR
    ODUCT is null in EPM System Registry. Verify EPM System Registry configuration.
    java.lang.NullPointerException
            at start.initialize(start.java:84)
            at start.Sample(start.java:59)
            at cc.main(cc.java:10)
    I guess it is something with the SQLServer driver.Do you have any ideas?
    My ORACLE_HOME and ORACLE_INSTANCE are set correctly.
    Thanks in advance,
    Regards,
    Nicolas

    Hello,
    I finally got it working!
    I added the weblogic libraries located under EPM/Middleware/wlserver_10.3/server/lib, and now it works fine.
    It was a pain to find it out, because the error message did not specify that it was a missing library..
    Anyway, if it helps, here is the list of external libraries I am using:
    "wlssapi.jar"
    "wlssapi-internal.jar"
    "wlss-datatier.jar"
    "wlss-descriptor-binding.jar"
    "wlssdiameter.jar"
    "wlssechosvr.jar"
    "wlss-mbeaninfo.jar"
    "WLSSSecurityProviders.jar"
    "wlthint3client.jar"
    "wlw-langx.jar"
    "wlw-langx-ja.jar"
    "wlw-langx-ko.jar"
    "wlw-langx-zh_CN.jar"
    "wlw-langx-zh_TW.jar"
    "wlw-wsee-soapfault.jar"
    "xmlparserv2_sans_jaxp_services.jar"
    "xmlrpc-2.0.1.jar"
    "audit-client.jar"
    "castor-1.0.5.jar"
    "com.bea.core.apache.commons.pool_1.3.0.jar"
    "commons-lang-2.1.jar"
    "css.jar"
    "dms.jar"
    "interop-sdk.jar"
    "ojdl.jar"
    "quartz.jar"
    "regexp.jar"
    "registry-api.jar"
    "scheduler_ces.jar"
    "sqljdbc.jar"
    "wf_ces_utils.jar"
    "wf_eng_agent.jar"
    "wf_eng_api.jar"
    "wf_eng_server.jar"
    "wlcipher.jar"
    "wlclient.jar"
    "wlcommons-logging.jar"
    "wlconnector.jar"
    "wldb2.jar"
    "wldeploy.jar"
    "wlinformix.jar"
    "wl-j2ee-client.jar"
    "wljarbuilder.jar"
    "wljmsclient.jar"
    "wljmxclient.jar"
    "wllog4j.jar"
    "wlnmclient.jar"
    "wlpool.jar"
    "wlsafclient.jar"
    "wls-api.jar"
    "wlss.jar"
    "wlss_i18n.jar"
    Thank you all for your help.
    Regards,
    Nicolas

  • DataSource & Connection pools

    Hi,
    I have a couple of question about DataSources and connection pools.
    1. Are DataSources & connection pools the same thing?
    2. Typically the data-sources.xml file, shows in plain text a user/name password combination. Isn't this a security risk? Can anything be done about this?
    thanks in advance,
    Kevin

    Hi Kevin --
    1. Are DataSources & connection pools the same thing?
    A DataSource enables the clean abstraction of the database connection details from the code.
    A DataSource has a name, and it provides you with access to connections via some configuration information it has (ie database host, port, sid, username/password). To get a connection, you first locate the datasource, and then ask it for a connection.
    Since the DataSource is now providing access to connections, you can get different types of DataSources that give you different behaviour. One example of this is a DataSource which supports connection pooling -- it will pool the connections for you. Some other datasources will support the use of container-managed-connections, which are used by EJB containers to support CMT.
    So while a DataSource can support connection pooling, the two are not synonomous.
    2. Typically the data-sources.xml file, shows in plain text a user/name password combination. Isn't this a security risk? Can anything be done about this?
    In the current production version and prior, the data-sources.xml file stored details in clear-text. Besides ensuring that the file has the correct level of OS priviliges set on it to ensure it can't be easily viewed, the only other workaround was to specify the username/password as parameters to the ds.getConnection() method. This puts the username/password back into the code so it breaks the concept of clean abstraction, but it was an option to avoid it being in the xml file.
    In our 904 release (available as a dev preview now on OTN) we support the use of password indirection for the passwords in this file. This enables you to specify a logcal name for a password, then create the actual user/password combination in our encrypted JAZN user repository. When the datasource is used, the container follows the indirection and retrives the password from the encrypted storage area.
    I'm pretty sure this is documented in the beta version of 904 J2EE Services Guide, see
    http://otn.oracle.com/tech/java/oc4j/904/doc_library/services-904-preview.pdf
    cheers
    -steve-

  • Oracle pool

    i test the oracle pool on WLS 7.0 by using the "simpleexample.jsp" offered by BEA.
    it works by using:
    Driver myDriver = (Driver) Class.forName("weblogic.jdbc.pool.Driver").newInstance();
    but doesn't work if use:
    Driver myDriver = (Driver) Class.forName
    ("oracle.jdbc.driver.OracleDriver").newInstance();
    i included the classes12.zip in my classpath.
    the oracle pool setup is as follwoing:
    name: oraclePool
    URL: jdbc:oracle:thin:@myservername:1521:sid
    Driver: oracle.jdbc.driver.OracleDriver
    Thanks in advance.
    Hongjie

    hongjie wrote:
    Joe:
    sorry for the misspelling. you are right, the name is
    simpleselect.jsp
    It WORKS after I changed the code as you suugested.
    Thank you very much.Sure.
    >
    >
    But I have to make it work for connectionPool. because we use
    connectionPool for WLS5.1. now we are trying to migrate to WLS7.0. We want to
    take the advantage of connection pooling.The same code that instantiated and used the pool driver should work in
    7.0 just as well as it worked in 5.1!
    Joe
    >
    >
    Hongjie
    Joseph Weinstein <[email protected]> wrote:
    hongjie wrote:
    i test the oracle pool on WLS 7.0 by using the "simpleexample.jsp"offered by BEA.
    it works by using:
    Driver myDriver = (Driver) Class.forName("weblogic.jdbc.pool.Driver").newInstance();
    but doesn't work if use:
    Driver myDriver = (Driver) Class.forName
    ("oracle.jdbc.driver.OracleDriver").newInstance();
    i included the classes12.zip in my classpath.I suspect you mean the example server\src\examples\jdbc\pool\simpleselect.jsp
    with the code:
    Driver myDriver = (Driver) Class.forName("weblogic.jdbc.pool.Driver").newInstance();
    conn = myDriver.connect("jdbc:weblogic:pool:demoPool", null);
    If you don't want to use the pool, and you want to make a direct connection
    using the
    oracle driver, you would have to supply the DBMS URL and properties:
    Driver myDriver = (Driver) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    java.util.Properties p = new java.util.Properties();
    p.put("user", "scott");
    p.put("password","tiger");
    // add whatever other props you want, if any...
    conn = myDriver.connect("jdbc:oracle:thin:@myservername:1521:sid", p
    Joe Weinstein at BEA
    the oracle pool setup is as follwoing:
    name: oraclePool
    URL: jdbc:oracle:thin:@myservername:1521:sid
    Driver: oracle.jdbc.driver.OracleDriver
    Thanks in advance.
    Hongjie

  • GET_APPLICATION_PROPERTY(DATASOURCE) = 'ORACLE'  DS 10gR1 vs. DS 10gR2

    I have a form that was compiled under 10gR1 DS and launches fine, but after compiling it under 10gR2 DS it is not responding in the same manner as 10gR1 to an if statement in the code checking to see if it is connected to an ORACLE database.
    In the 10gR1 version of the form
    The check to see if the form was connected to an oracle database would return false after EXIT_FORM(NO_VALIDATE);
    And this is what was expected to happen with the 10gR2 version of the form.
    But in the 10gR2 version of the form
    After the EXIT_FORM(NO_VALIDATE); statement
    the if GET_APPLICATION_PROPERTY(DATASOURCE) = 'ORACLE' statment returns a true and causes the form to break because its not connected to the database anymore but the code in this if statement contains sql against database tables
    How come only for DS 10gR2 after the EXIT_FORM(NO_VALIDATE); statement
    the get_application_property(DATASOURCE) = 'ORACLE' is true, Even though its not connected to the database anymore?
    Thanks,
    Michelle

    HI...i have a similiar problem. we recently migration to 10g and still using oracle forms 6i. Problem is that i have a logon for which check the datasource to determine the status of the login user.
    If the user, currently is expired or logged out, it should remeber a message otherwise if the datasource is not oracle then show unable to connect on log out.
    On the form, there is a on_logon trigger..
    if i do a show message, i can see that if the user is expired it will not pickup the datasource, instead it is null, logging out the user.
    please have a look at the code below:
    logon(:login.user_name,:login.password||'@'||:login.instance_name,false);
    v_datasource := get_application_property(DATASOURCE);
    if v_datasource = 'ORACLE' then
    begin
    select account_status
    into v_status
    from dba_users
    where username = v_username;
    if v_status like 'LOCKED%' then
    v_message := 'This users account is locked - contact support';
    end if;
    if v_status like 'EXPIRED%' then
    :global.user_name := v_username;
    :global.new_password := 'N';
    :global.old_password := v_password;
    call_form('c_passmnt', hide, do_replace, no_query_only);
    if :global.new_password = 'N' then
    v_message := 'Password not changed - contact support';
    else
    :login.user_name := v_old_username;
    :login.password := :global.new_password_new;
    logout; SYNCHRONIZE;
    logon(:login.user_name,:login.password||'@'||:login.instance_name,true);
    end if;
    end if;

  • Can I set the Datasource/Conn-pool credential programmatically ?

    Hi all,
    Within our ADF BC + Faces application, we use Crystal Report for our reporting solution.
    Crystal use different db connection from one used by the ADF BC. so I create a Datasource in OAS, to be used only by Crystal Report.
    Here is my problem :
    We also use VPD. So I have requirement to login as DifferentUser to make the VPD run correctly.
    How can I programmatically set the username and password of the datasource/conn-pool based on who is logging in to the application ?
    Thank you for your help,
    xtanto

    Good question; I don't know the answer. Try a post in the Identity Management section.
    Perhaps something with Enterprise Authentication may help.

  • Upgrading from WLS 8.1 to Oracle WLS 10.3

    Hi,
    I'm planning to upgrade a client's system consisting of multiple applications running on WLS 8.1 to Oracle WLS 10.3.
    Is this an officially supported upgrade path? What would be the best way to do the upgrade?
    Are there any tools for automatically importing or converting the old configuration or domains?
    Or is it better to create new installations from scratch and manually configure them?
    Is there any documentation for this upgrade path?
    In practice we would need to run both application servers in parallel for a while.
    Can I expect the different server versions to interoperate with each other?
    The applications mostly communicate using EJB (v2.0) calls but JMS and Web Services are used as well.
    I've tested the EJB calls and they seem to work but what about JMS?

    Thanks.
    Can WLS JMS v8.1 be used as a messaging provider for WLS v10.3 and 8.1 instances
    (using it directly or through the Messaging Bridge)?
    Is this described in the documentation somewhere?
    I also found the following documents that address version compatibility:
    http://download.oracle.com/docs/cd/E13222_01/wls/docs103/compatibility/compatibility.html
    http://download.oracle.com/docs/cd/E13222_01/wls/docs103/upgrade/compat.html

  • [svn] 1605: Bug: BLZ-155 - Deadlock using a thread pool for tomcat connectors

    Revision: 1605
    Author: [email protected]
    Date: 2008-05-07 14:24:53 -0700 (Wed, 07 May 2008)
    Log Message:
    Bug: BLZ-155 - Deadlock using a thread pool for tomcat connectors
    QA: Yes - Jorge verified in the QE lab
    Doc: No
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-155
    Modified Paths:
    blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/client/EndpointPushNotifier.j ava

    Cross post: http://forum.java.sun.com/thread.jspa?threadID=5215686&tstart=0
    If you must post across forums, just post in the most relevant one and then give the link to that in the other posts.

  • Oracle pool and timeout

    hi,
    i have an oracle pool.
    if the oracle computer restarts (for example), the getConnection takes few minutes till i get an exception.
    is there a way to set a timeout on the getConnection (not the login).
    i'm using OracleConnectionCacheImpl in oracle 8.1.6i.

    Hi,
    JDBC DriverManager provides a method called setLoginTime to set timeout.
    Please find the extract from "Java 2 SDK SE Developer Documentation".
    DriverManager.setLoginTimeout
    public static void setLoginTimeout(int seconds)
    Sets the maximum time in seconds that a driver will wait while attempting to connect to a database.
    Parameters:
    seconds - the login time limit in seconds
    For further information on this please visit our site at
    http://java.sun.com/j2se/1.4/docs/api/java/sql/DriverManager.html
    If you want to specify connection timeout for database connectionpool provided any webserver or application server then you can set connection timeout parameter for connectionpool.
    For further information on this, please go through the corresponding application server/web server documentation.
    Hope this helps.
    Good Luck.
    Gayam.Srinivasa Reddy
    Developer Technical Support
    Sun Micro Sysytems
    http://www.sun.com/developers/support/

  • Oracle Pool Refresh

              Hi All,
              These are the setting for our Oracle Pool,
              weblogic.jdbc.connectionPool.oraclePool=\
              url=jdbc:oracle:thin:@10.112.99.202:1521:ORCL,\
              driver=oracle.jdbc.driver.OracleDriver,\
              loginDelaySecs=0,\
              initialCapacity=200,\
              maxCapacity=250,\
              capacityIncrement=10,\
              allowShrinking=true,\
              shrinkPeriodMins=15,\
              refreshMinutes=10,\
              testTable=PROFF_LIABIL,\
              props=user=abcde;password=xyz;
              But it's not refreshing periodically. Please help me to refresh the Oracle Pool periodically.It's very urgent to me.
              Thanks,
              Venkat
              

    Your question was answered in the JDBC section.
              Cameron Purdy
              [email protected]
              http://www.tangosol.com
              WebLogic Consulting Available
              "Venkat Ponnala" <[email protected]> wrote in message
              news:39d1f6e2$[email protected]..
              >
              > Hi All,
              >
              > These are the setting for our Oracle Pool,
              >
              > weblogic.jdbc.connectionPool.oraclePool=\
              > url=jdbc:oracle:thin:@10.112.99.202:1521:ORCL,\
              > driver=oracle.jdbc.driver.OracleDriver,\
              > loginDelaySecs=0,\
              > initialCapacity=200,\
              > maxCapacity=250,\
              > capacityIncrement=10,\
              > allowShrinking=true,\
              > shrinkPeriodMins=15,\
              > refreshMinutes=10,\
              > testTable=PROFF_LIABIL,\
              > props=user=abcde;password=xyz;
              > But it's not refreshing periodically. Please help me to refresh the Oracle
              Pool periodically.It's very urgent to me.
              >
              > Thanks,
              > Venkat
              

  • Oracle Clobs, datasources, connection pools, RMI ...

    Hello all,
    We are using Weblogic 7.0, windows 2K server, Oracle 9i and are trying to read from a clob. Using
    Weblogic datasources to manage connection pools. We are getting back a weblogic.jdbc.rmi.serialClob
    object.
    Any help reading data from this?
    The main error is "No Data Found".
    What else might I tell you to help?
    Thanks a bunch for any help.
    BTW
    We had this working in iplanet and we are converting to weblogic. This is our last major hurdle.
    Galen Boyer

    On 3 Feb 2004 12:51:26 -0800, Raymond Tiong <[email protected]> wrote:
    >
    Oracle Database Server 9i supports the usage of LABELS to enforce highly
    granular
    resource access restrictions at the database level independent of the
    application
    that is accessing it. In order to use this however, the particular
    user, and
    not just the application, accessing the database must be known. Oracle
    Application
    Server (Oracle's J2EE product line) solves this by providing the ability
    to PROXY
    the identity of the application user and creditials (SSL Certs for
    instance) down
    to the database server.
    I haven't seen a similar ability for BEA Weblogic Server 8.1 which allow
    the user
    identity and credientials to be PROXIED to the database server. Is this
    possible?
    Have I missed an important document?
    Thanks for any input,
    Raymond Tiong
    I think there is a section in the JDBC documentation for 8.1 which
    describes what it takes to utilize Oracle 9i extension called "Virtual
    Private Database". With this extension, one might be able to proxy the
    callers
    identity to the DB.
    See: http://e-docs.bea.com/wls/docs81/jdbc/thirdparty.html#1103627

  • User Level Vs. Application Level Authorization and Authentication for Container Managed Datasources (Oracle Connection Pools)

    Oracle Database Server 9i supports the usage of LABELS to enforce highly granular
    resource access restrictions at the database level independent of the application
    that is accessing it. In order to use this however, the particular user, and
    not just the application, accessing the database must be known. Oracle Application
    Server (Oracle's J2EE product line) solves this by providing the ability to PROXY
    the identity of the application user and creditials (SSL Certs for instance) down
    to the database server.
    I haven't seen a similar ability for BEA Weblogic Server 8.1 which allow the user
    identity and credientials to be PROXIED to the database server. Is this possible?
    Have I missed an important document?
    Thanks for any input,
    Raymond Tiong

    On 3 Feb 2004 12:51:26 -0800, Raymond Tiong <[email protected]> wrote:
    >
    Oracle Database Server 9i supports the usage of LABELS to enforce highly
    granular
    resource access restrictions at the database level independent of the
    application
    that is accessing it. In order to use this however, the particular
    user, and
    not just the application, accessing the database must be known. Oracle
    Application
    Server (Oracle's J2EE product line) solves this by providing the ability
    to PROXY
    the identity of the application user and creditials (SSL Certs for
    instance) down
    to the database server.
    I haven't seen a similar ability for BEA Weblogic Server 8.1 which allow
    the user
    identity and credientials to be PROXIED to the database server. Is this
    possible?
    Have I missed an important document?
    Thanks for any input,
    Raymond Tiong
    I think there is a section in the JDBC documentation for 8.1 which
    describes what it takes to utilize Oracle 9i extension called "Virtual
    Private Database". With this extension, one might be able to proxy the
    callers
    identity to the DB.
    See: http://e-docs.bea.com/wls/docs81/jdbc/thirdparty.html#1103627

  • "in-doubt distributed transaction" (WLS 8.1 SP2/Oracle 9.2.0.4)

              I've developed an MDB that reads a message from a queue, performs database updates
              against up to 2 databases, and sends an outgoing JMS message when all is complete.
              The MDB uses container-managed transactions to ensure that all DB updates and
              JMS messages are committed or rolled back together. I have had a lot of problems
              related to transactions failing, becoming "in-doubt" in the database and locking
              database resources indefinitely.
              My environment is configured as follows:
              WebLogic 8.1.2 Server
              Oracle 9.2.0.4 database with RAC
              XA Connection Pool with WebLogic Type 2 Oracle Driver OR Oracle 9.2.0.4
              OCI Driver
              I have read the BEA/HP white paper regarding Weblogic 8.1 with Oracle 9i RAC (http://dev2dev.bea.com/products/wlserver81/whitepapers/wls_bea_hp.jsp)
              and have tried all of the solutions suggested in that paper. The only solution
              that worked consistently without causing the in-doubt transactions was to change
              my connection pools to point directly to a single node of the RAC cluster, not
              to the shared instance. However, even with this configuration, I have seen these
              errors occur when certain database failures occur.
              A side-effect of this problem is that the associated WebLogic connection pools
              begin to "forget" connections. The pool thinks that all of the connections are
              in use (even though I am always calling Statement.close() and Connection.close()),
              and the connection pool cannot be reset manually. The only way to clear the connection
              pool is to bounce WebLogic.
              The only posts I have found related to this error were regarding Oracle 8.1.7
              and WebLogic 6.1. Any help would be greatly appreciated.
              Exceptions:
              <Mar 23, 2004 2:59:36 PM EST> <Error> <EJB> <BEA-010026> <Exception occurred during
              commit of transaction Xid=BEA1-0526A28664707F28EDB9(6412513),Status=Rolled back.
              [Reason=javax.transaction.xa.XAException
              : prepare failed for XAResource 'ProfilingPool' with error XAER_NOTA : The XID
              is not valid],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=2,seconds
              left=60,XAServerResourceInfo[JMS_my
              JmsStore]=(ServerResourceInfo[JMS_myJmsStore]=(state=rolledback,assigned=myserver),xar=JMS_myJmsStore),XAServerResourceInfo[ProfilingPool]=(ServerResourceInfo[ProfilingPool]=(state=rolledback,ass
              igned=myserver),xar=ProfilingPool),SCInfo[mydomain+myserver]=(state=rolledback),local
              properties=({}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myserver+10.41.0.61:7001+m
              ydomain+t3+, XAResources={JMS_myJmsStore, JMS_FileStore, ProfilingPool, SearchManagementPool,
              AnnouncementsTxPool},NonXAResources={})],CoordinatorURL=myserver+10.41.0.61:7001+mydomain+t3+):
              javax.tran
              saction.xa.XAException: prepare failed for XAResource 'ProfilingPool' with error
              XAER_NOTA : The XID is not valid
              at weblogic.jdbc.oci.xa.XA.createException(XA.java:386)
              at weblogic.jdbc.oci.xa.XADataSource.internalPrepare(XADataSource.java:905)
              at weblogic.jdbc.oci.xa.XADataSource.prepare(XADataSource.java:885)
              at weblogic.jdbc.jta.DataSource.prepare(DataSource.java:846)
              at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1167)
              at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:401)
              at weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:253)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              --------------- nested within: ------------------
              weblogic.transaction.RollbackException: Could not prepare resource 'ProfilingPool
              prepare failed for XAResource 'ProfilingPool' with error XAER_NOTA : The XID is
              not valid - with nested exception:
              [javax.transaction.xa.XAException: prepare failed for XAResource 'ProfilingPool'
              with error XAER_NOTA : The XID is not valid]
              at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1644)
              at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:300)
              at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:221)
              at weblogic.ejb20.internal.MDListener.execute(MDListener.java:412)
              at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
              at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
              at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
              at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              2004-03-23 15:00:45,406 ERROR IS003989 [ExecuteThread: '17' for queue: 'ProfileCompleteListenerBean.ExecuteQueue']
              my.package.search.business.ProfiledHoldingDAO.setProfilingStatus(ProfiledHoldingDAO.java:350
              ) - Failed to update profiling status for holding 10014 [] (-2)
              java.sql.SQLException: ORA-02049: timeout: distributed transaction waiting for
              lock
              at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:282)
              at weblogic.jdbc.oci.PreparedStatement.executeUpdate(PreparedStatement.java:226)
              at weblogic.jdbc.oci.xa.PreparedStatement.executeUpdate(PreparedStatement.java:81)
              at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:94)
              at my.package.search.business.ProfiledHoldingDAO.setProfilingStatus(ProfiledHoldingDAO.java:345)
              at my.package.search.business.ProfilingManager.disseminateAndAcknowledge(ProfilingManager.java:254)
              at my.package.search.business.ProfileCompleteListenerBean.onMessage(ProfileCompleteListenerBean.java:128)
              at weblogic.ejb20.internal.MDListener.execute(MDListener.java:382)
              at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
              at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
              at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
              at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              2004-03-23 15:01:43,093 ERROR IS003989 [ExecuteThread: '18' for queue: 'HoldingStatusListenerBean.ExecuteQueue']
              my.package.search.business.ProfiledHoldingDAO.getProfilingStatus(ProfiledHoldingDAO.java:265)
              - Failed to retrieve profiling results for holding 10060 [] (-2)
              java.sql.SQLException: ORA-01591: lock held by in-doubt distributed transaction
              189.47.12
              at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:282)
              at weblogic.jdbc.oci.PreparedStatement.executeQuery(PreparedStatement.java:152)
              at weblogic.jdbc.oci.xa.PreparedStatement.executeQuery(PreparedStatement.java:48)
              at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:80)
              at my.package.search.business.ProfiledHoldingDAO.getProfilingStatus(ProfiledHoldingDAO.java:256)
              at my.package.search.business.ProfiledHoldingDAO.storeHoldingMetadata(ProfiledHoldingDAO.java:489)
              at my.package.search.business.ProfiledHoldingDAO.storeNewHolding(ProfiledHoldingDAO.java:406)
              at my.package.search.business.ProfilingManager.profileHolding(ProfilingManager.java:128)
              at my.package.search.business.HoldingStatusListenerBean.onMessage(HoldingStatusListenerBean.java:121)
              at weblogic.ejb20.internal.MDListener.execute(MDListener.java:382)
              at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
              at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
              at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
              at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              

    Hi. There is a serious bug in the Oracle DBMS (all versions) where in-doubt
              transactions have their data locked in the DBMS by page rather than by row,
              so it will indefinitely prevent access to all data on the page, including
              logically uninvolved data. Oracle understands the problem but currently
              says they will never fix it (it would take too much work). They offer the
              alternative that you configure your table data to ensure that no more than
              one datarow resides on a page.
              Joe
              Matt Smith wrote:
              > I've developed an MDB that reads a message from a queue, performs database updates
              > against up to 2 databases, and sends an outgoing JMS message when all is complete.
              > The MDB uses container-managed transactions to ensure that all DB updates and
              > JMS messages are committed or rolled back together. I have had a lot of problems
              > related to transactions failing, becoming "in-doubt" in the database and locking
              > database resources indefinitely.
              >
              > My environment is configured as follows:
              > WebLogic 8.1.2 Server
              > Oracle 9.2.0.4 database with RAC
              > XA Connection Pool with WebLogic Type 2 Oracle Driver OR Oracle 9.2.0.4
              > OCI Driver
              >
              > I have read the BEA/HP white paper regarding Weblogic 8.1 with Oracle 9i RAC (http://dev2dev.bea.com/products/wlserver81/whitepapers/wls_bea_hp.jsp)
              > and have tried all of the solutions suggested in that paper. The only solution
              > that worked consistently without causing the in-doubt transactions was to change
              > my connection pools to point directly to a single node of the RAC cluster, not
              > to the shared instance. However, even with this configuration, I have seen these
              > errors occur when certain database failures occur.
              >
              > A side-effect of this problem is that the associated WebLogic connection pools
              > begin to "forget" connections. The pool thinks that all of the connections are
              > in use (even though I am always calling Statement.close() and Connection.close()),
              > and the connection pool cannot be reset manually. The only way to clear the connection
              > pool is to bounce WebLogic.
              >
              > The only posts I have found related to this error were regarding Oracle 8.1.7
              > and WebLogic 6.1. Any help would be greatly appreciated.
              >
              > Exceptions:
              > -----------------
              > <Mar 23, 2004 2:59:36 PM EST> <Error> <EJB> <BEA-010026> <Exception occurred during
              > commit of transaction Xid=BEA1-0526A28664707F28EDB9(6412513),Status=Rolled back.
              > [Reason=javax.transaction.xa.XAException
              > : prepare failed for XAResource 'ProfilingPool' with error XAER_NOTA : The XID
              > is not valid],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=2,seconds
              > left=60,XAServerResourceInfo[JMS_my
              > JmsStore]=(ServerResourceInfo[JMS_myJmsStore]=(state=rolledback,assigned=myserver),xar=JMS_myJmsStore),XAServerResourceInfo[ProfilingPool]=(ServerResourceInfo[ProfilingPool]=(state=rolledback,ass
              > igned=myserver),xar=ProfilingPool),SCInfo[mydomain+myserver]=(state=rolledback),local
              > properties=({}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myserver+10.41.0.61:7001+m
              > ydomain+t3+, XAResources={JMS_myJmsStore, JMS_FileStore, ProfilingPool, SearchManagementPool,
              > AnnouncementsTxPool},NonXAResources={})],CoordinatorURL=myserver+10.41.0.61:7001+mydomain+t3+):
              > javax.tran
              > saction.xa.XAException: prepare failed for XAResource 'ProfilingPool' with error
              > XAER_NOTA : The XID is not valid
              > at weblogic.jdbc.oci.xa.XA.createException(XA.java:386)
              > at weblogic.jdbc.oci.xa.XADataSource.internalPrepare(XADataSource.java:905)
              > at weblogic.jdbc.oci.xa.XADataSource.prepare(XADataSource.java:885)
              > at weblogic.jdbc.jta.DataSource.prepare(DataSource.java:846)
              > at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1167)
              > at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:401)
              > at weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:253)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              > --------------- nested within: ------------------
              > weblogic.transaction.RollbackException: Could not prepare resource 'ProfilingPool
              > prepare failed for XAResource 'ProfilingPool' with error XAER_NOTA : The XID is
              > not valid - with nested exception:
              > [javax.transaction.xa.XAException: prepare failed for XAResource 'ProfilingPool'
              > with error XAER_NOTA : The XID is not valid]
              > at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1644)
              > at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:300)
              > at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:221)
              > at weblogic.ejb20.internal.MDListener.execute(MDListener.java:412)
              > at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
              > at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
              > at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
              > at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              > ...
              > 2004-03-23 15:00:45,406 ERROR IS003989 [ExecuteThread: '17' for queue: 'ProfileCompleteListenerBean.ExecuteQueue']
              > my.package.search.business.ProfiledHoldingDAO.setProfilingStatus(ProfiledHoldingDAO.java:350
              > ) - Failed to update profiling status for holding 10014 [] (-2)
              > java.sql.SQLException: ORA-02049: timeout: distributed transaction waiting for
              > lock
              > at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:282)
              > at weblogic.jdbc.oci.PreparedStatement.executeUpdate(PreparedStatement.java:226)
              > at weblogic.jdbc.oci.xa.PreparedStatement.executeUpdate(PreparedStatement.java:81)
              > at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:94)
              > at my.package.search.business.ProfiledHoldingDAO.setProfilingStatus(ProfiledHoldingDAO.java:345)
              > at my.package.search.business.ProfilingManager.disseminateAndAcknowledge(ProfilingManager.java:254)
              > at my.package.search.business.ProfileCompleteListenerBean.onMessage(ProfileCompleteListenerBean.java:128)
              > at weblogic.ejb20.internal.MDListener.execute(MDListener.java:382)
              > at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
              > at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
              > at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
              > at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              > ...
              > 2004-03-23 15:01:43,093 ERROR IS003989 [ExecuteThread: '18' for queue: 'HoldingStatusListenerBean.ExecuteQueue']
              > my.package.search.business.ProfiledHoldingDAO.getProfilingStatus(ProfiledHoldingDAO.java:265)
              > - Failed to retrieve profiling results for holding 10060 [] (-2)
              > java.sql.SQLException: ORA-01591: lock held by in-doubt distributed transaction
              > 189.47.12
              > at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:282)
              > at weblogic.jdbc.oci.PreparedStatement.executeQuery(PreparedStatement.java:152)
              > at weblogic.jdbc.oci.xa.PreparedStatement.executeQuery(PreparedStatement.java:48)
              > at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:80)
              > at my.package.search.business.ProfiledHoldingDAO.getProfilingStatus(ProfiledHoldingDAO.java:256)
              > at my.package.search.business.ProfiledHoldingDAO.storeHoldingMetadata(ProfiledHoldingDAO.java:489)
              > at my.package.search.business.ProfiledHoldingDAO.storeNewHolding(ProfiledHoldingDAO.java:406)
              > at my.package.search.business.ProfilingManager.profileHolding(ProfilingManager.java:128)
              > at my.package.search.business.HoldingStatusListenerBean.onMessage(HoldingStatusListenerBean.java:121)
              > at weblogic.ejb20.internal.MDListener.execute(MDListener.java:382)
              > at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
              > at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
              > at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
              > at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              >
              >
              

Maybe you are looking for

  • IPOD ERROR MESSAGE:   Connect to your computer. Use Itunes to restore.

    Whenever I turn my ipod on after its been off for a few hours the screen displays "Connect to your computer. Use Itunes to restore" and then goes blank. I turn the ipod back on again and it appears to work normally but the battery is showing close to

  • HT1351 how can i make my ipod sync faster

    Why is my ipod touch 4th generation 32GB taking so long to sink? I'm only sinking 10GB because I don't have much time and it's taking a minute to download 1 song

  • BRCONNECT fails after system copy

    Hi After doing a system copy , in transaction DB13 , all my jobs are failing with "insufficient privileges" . I have already applied the following note 113747 , 583861 and 717677. Please help.............. Job started Step 001 started (program RSDBAJ

  • Problem with FX (CS6) "Could not complete your request due to a program error."

    This only happened after I got the master collection. FX effects in Photoshop CS6 do not work, at all. Attempting to use any of them result in the above quoted "Could not complete your request due to a program error." I've trashed the prefs, uninstal

  • Multi-Use Item Renderer for DataGrid Column

    I have a dataGrid where the first column of the grid displays an icon for the 'type' of item in the row. I created a custom itemRenderer component which I reference in its own namespace, and everything works great. Since this is a pretty common conce