WTRN0037W: 事务服务在 xa_recover 操作中遇到错误

sor*_*rab 2 websphere

我正在使用 WSA 8.5 、JDK 6、JDBC 11。我收到 XAException。我已按照其他帖子的建议设置了授予权限,但没有解决我的问题。

你能帮忙吗?此问题在负载测试下创建巨大的日志文件并导致应用程序挂起。

我在 SystemOut.log 中收到以下错误

[11/19/15 18:02:41:029 IST] 0000003d WSRdbXaResour E   DSRA0304E:  XAException occurred. XAException contents and details are: The cause is               : null.
[11/19/15 18:02:41:030 IST] 0000003d WSRdbXaResour E   DSRA0302E:  XAException occurred.  Error code is: XAER_RMERR (-3).  Exception is: <null>
[11/19/15 18:02:41:030 IST] 0000003d XARminst      E   WTRN0037W: The transaction service encountered an error on an xa_recover operation. The resource was com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@cc24166c. The error code was XAER_RMERR. The exception stack trace follows: javax.transaction.xa.XAException
        at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:703)
        at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceImpl.java:1116)
        at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java:141)
        at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:715)
        at com.ibm.tx.jta.impl.PartnerLogTable.recover(PartnerLogTable.java:431)
        at com.ibm.tx.jta.impl.RecoveryManager.resync(RecoveryManager.java:1534)
        at com.ibm.tx.jta.impl.RecoveryManager.performResync(RecoveryManager.java:2267)
        at com.ibm.ws.tx.jta.RecoveryManager.performResync(RecoveryManager.java:117)
        at com.ibm.tx.jta.impl.RecoveryManager.run(RecoveryManager.java:2220)
        at java.lang.Thread.run(Thread.java:770)
Run Code Online (Sandbox Code Playgroud)

Ant*_*hin 5

IBM 建议在使用 Oracle 和 WAS XA 数据源时向 Oracle 用户授予特殊权限。

这是所需的补助金:

 grant select on pending_trans$ to <user>; 
 grant select on dba_2pc_pending to <user>;
 grant select on dba_pending_transactions to <user>;
 grant execute on dbms_system to <user>;  (If using Oracle 10.2.0.3 or lower JDBC driver)
 grant execute on dbms_xa to <user>; (If using Oracle 10.2.0.4 or higher JDBC driver)
Run Code Online (Sandbox Code Playgroud)

IBM 支持网站有很好的解释和可能的解决方案。

IBM 支持

我也回答过类似的问题,然后它可能会有所帮助。堆栈溢出