This discussion is archived
5 Replies Latest reply: Jul 10, 2013 12:44 PM by Joe Weinstein Branched from an earlier discussion. RSS

Re: ORA-24784: Transaction exists

b1d09754-b8fe-4030-b4e2-4e95ea2c043e Newbie
Currently Being Moderated

Hi we are facing the same issue , What is the solution to this issue ?

  • 1. Re: ORA-24784: Transaction exists
    Vijaya Moderator -Oracle Expert
    Currently Being Moderated

    Please share the complete stacktrace of the error to help you on the issue.

     

    Thanks,

    Vijaya

  • 2. Re: ORA-24784: Transaction exists
    b1d09754-b8fe-4030-b4e2-4e95ea2c043e Newbie
    Currently Being Moderated

    2013-06-26 13:33:56,376 ERROR com.ekaplus.common.db.ContainerConnectionProvider  -

    com.ekaplus.common.exception.SystemException: java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: XA error: XAResource.XAER_RMERR start() failed on resource 'MyPool_EKA8X_QA': XAER_RMERR : A resource manager error has occured in the transaction branch

    oracle.jdbc.xa.OracleXAException

      at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1110)

      at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:240)

      at weblogic.jdbc.wrapper.VendorXAResource.start(VendorXAResource.java:50)

      at weblogic.jdbc.jta.DataSource.start(DataSource.java:729)

      at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1231)

      at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1164)

      at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:285)

      at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:522)

      at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:449)

      at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1599)

      at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1503)

      at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:446)

      at weblogic.jdbc.jta.DataSource.connect(DataSource.java:403)

      at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:364)

      at com.ekaplus.common.db.ContainerConnectionProvider.getConnection(ContainerConnectionProvider.java:79)

      at com.ekaplus.dao.common.ConnectionManager.getDSConnection(ConnectionManager.java:24)

      at com.ekaplus.dao.common.ConnectionManager.getConnection(ConnectionManager.java:14)

      at com.ekaplus.dao.common.JdbcDAO.getConnection(JdbcDAO.java:372)

      at com.ekaplus.dao.general.ReferenceNumberGeneratorDAO.getLatestSequenceNumerForInternalRefNo(ReferenceNumberGeneratorDAO.java:63)

      at com.ekaplus.service.general.util.ReferenceNumberGenerator.getInternalReferenceNumber(ReferenceNumberGenerator.java:67)

      at com.ekaplus.service.physical.logistics.bookingnote.BookingNoteManagementService.saveBookingNoteDetails(BookingNoteManagementService.java:248)

      at com.ekaplus.servicefacade.physical.logistics.bookingnote.BookingNoteManagementServiceFacade.saveBookingNoteDetails(BookingNoteManagementServiceFacade.java:86)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      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:309)

      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)

      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

      at $Proxy209.saveBookingNoteDetails(Unknown Source)

      at com.ekaplus.presentation.physical.logistics.bookingnote.action.BookingNoteManagementAction.saveBookingNote(BookingNoteManagementAction.java:452)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:597)

      at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)

      at com.ekaplus.presentation.common.EkaBaseDispatchAction.dispatchMethod(EkaBaseDispatchAction.java:71)

      at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)

      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)

      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)

      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)

      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

      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:26)

      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

      at com.ekaplus.sso.web.filter.EkaSSOLogoutFilter.doFilter(EkaSSOLogoutFilter.java:55)

      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

      at com.ekaplus.sso.web.filter.EkaSSOLoginFilter.doFilter(EkaSSOLoginFilter.java:106)

      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

      at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)

      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)

      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)

      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)

      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)

      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

      at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

     

     

      at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1604)

      at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1503)

      at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:446)

      at weblogic.jdbc.jta.DataSource.connect(DataSource.java:403)

      at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:364)

      at com.ekaplus.common.db.ContainerConnectionProvider.getConnection(ContainerConnectionProvider.java:79)

      at com.ekaplus.dao.common.ConnectionManager.getDSConnection(ConnectionManager.java:24)

      at com.ekaplus.dao.common.ConnectionManager.getConnection(ConnectionManager.java:14)

      at com.ekaplus.dao.common.JdbcDAO.getConnection(JdbcDAO.java:372)

      at com.ekaplus.dao.general.ReferenceNumberGeneratorDAO.getLatestSequenceNumerForInternalRefNo(ReferenceNumberGeneratorDAO.java:63)

      at com.ekaplus.service.general.util.ReferenceNumberGenerator.getInternalReferenceNumber(ReferenceNumberGenerator.java:67)

      at com.ekaplus.service.physical.logistics.bookingnote.BookingNoteManagementService.saveBookingNoteDetails(BookingNoteManagementService.java:248)

      at com.ekaplus.servicefacade.physical.logistics.bookingnote.BookingNoteManagementServiceFacade.saveBookingNoteDetails(BookingNoteManagementServiceFacade.java:86)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      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:309)

      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)

      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

      at $Proxy209.saveBookingNoteDetails(Unknown Source)

      at com.ekaplus.presentation.physical.logistics.bookingnote.action.BookingNoteManagementAction.saveBookingNote(BookingNoteManagementAction.java:452)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:597)

      at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)

      at com.ekaplus.presentation.common.EkaBaseDispatchAction.dispatchMethod(EkaBaseDispatchAction.java:71)

      at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)

      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)

      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)

      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)

      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

      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:26)

      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

      at com.ekaplus.sso.web.filter.EkaSSOLogoutFilter.doFilter(EkaSSOLogoutFilter.java:55)

      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

      at com.ekaplus.sso.web.filter.EkaSSOLoginFilter.doFilter(EkaSSOLoginFilter.java:106)

      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

      at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)

      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)

      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)

      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)

      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)

      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

      at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

     

     

      at com.ekaplus.common.db.ContainerConnectionProvider.getConnection(ContainerConnectionProvider.java:81)

      at com.ekaplus.dao.common.ConnectionManager.getDSConnection(ConnectionManager.java:24)

      at com.ekaplus.dao.common.ConnectionManager.getConnection(ConnectionManager.java:14)

      at com.ekaplus.dao.common.JdbcDAO.getConnection(JdbcDAO.java:372)

      at com.ekaplus.dao.general.ReferenceNumberGeneratorDAO.getLatestSequenceNumerForInternalRefNo(ReferenceNumberGeneratorDAO.java:63)

      at com.ekaplus.service.general.util.ReferenceNumberGenerator.getInternalReferenceNumber(ReferenceNumberGenerator.java:67)

      at com.ekaplus.service.physical.logistics.bookingnote.BookingNoteManagementService.saveBookingNoteDetails(BookingNoteManagementService.java:248)

      at com.ekaplus.servicefacade.physical.logistics.bookingnote.BookingNoteManagementServiceFacade.saveBookingNoteDetails(BookingNoteManagementServiceFacade.java:86)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      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:309)

      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)

      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

      at $Proxy209.saveBookingNoteDetails(Unknown Source)

      at com.ekaplus.presentation.physical.logistics.bookingnote.action.BookingNoteManagementAction.saveBookingNote(BookingNoteManagementAction.java:452)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:597)

      at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)

      at com.ekaplus.presentation.common.EkaBaseDispatchAction.dispatchMethod(EkaBaseDispatchAction.java:71)

      at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)

      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)

      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)

      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)

      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

      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:26)

      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

      at com.ekaplus.sso.web.filter.EkaSSOLogoutFilter.doFilter(EkaSSOLogoutFilter.java:55)

      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

      at com.ekaplus.sso.web.filter.EkaSSOLoginFilter.doFilter(EkaSSOLoginFilter.java:106)

      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

      at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)

      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)

      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)

      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)

      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)

      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

      at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

    Caused by: java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: XA error: XAResource.XAER_RMERR start() failed on resource 'MyPool_EKA8X_QA': XAER_RMERR : A resource manager error has occured in the transaction branch

    oracle.jdbc.xa.OracleXAException

  • 3. Re: ORA-24784: Transaction exists
    b1d09754-b8fe-4030-b4e2-4e95ea2c043e Newbie
    Currently Being Moderated

    Thanks for the reply added is the stack trace. The problem is the same when we have a dblink which when used , that specific connection in the pool is becoming dirty and when used later from the pool gives the above error. How do we kill or make these connection clear ? 

  • 4. Re: ORA-24784: Transaction exists
    Vijaya Moderator -Oracle Expert
    Currently Being Moderated

    WebLogic server keeps track of the usage of XA resources.  If none of the outstanding requests to the resource was replied in the last maxXACallMillis ms, the resource is declared unhealthy.  In this state, XAER_RMFAIL is returned to all requests to the resource without actually making the call to the resource.

     

    The solution is to set 'Maximum Duration of XA Calls' to a bigger value by referencing the documentation in the references section below.

    MaxXACallMillis: Sets the maximum allowed duration (in milliseconds) of XA calls to XA resources. This setting applies to the entire domain. (Default: 120000)

     

    The two minute interval can be configured using the maxXACallMillis JTAMBean attribute. It is not exposed through the Administration Console. You can configuremaxXACallMillis in the config.xml file. For example

    <Domain> .... <JTA MaxXACallMillis="240000" /> .... </Domain>

     

    1) the parameter in config.xml is max-xa-call-millis, instead of maxXACallMillis

    2) the parameter is exposed through administration console: services --> jta --> advanced --> "Maximum Duration of XA Calls:"

     

    Thanks,

    Vijaya

  • 5. Re: ORA-24784: Transaction exists
    Joe Weinstein Expert
    Currently Being Moderated

    contact official support and open an SR. There have been recent bug fixes made to catch and remove/replace XA connections that go bad while in use.