Reputation: 353
I am using WSA 8.5 , JDK 6, JDBC 11. I am getting XAException. I have set the grant permission as suggested by other posts, but did not resolve my issue.
Can you please assist. This issue create huge log file under load testing and result in application to hang.
I am getting below error in 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)
Upvotes: 2
Views: 8419
Reputation: 109
There are alternative receipt - remove transaction logs in files in was-profile
I found one here - https://albert-kuo.blogspot.com/2011/03/wtrn0037w-transaction-service.html - and one foxed same problem.
key steps is:
partnerlog
and tranlog
from logs foldler: [WebSphere Application Server_install_root]\profiles\[PROFILE_NAME]\tranlog\[CELL_NAME]\[NODE_NAME]\[SERVER_NAME]\transaction
Upvotes: 0
Reputation: 2375
IBM suggests to grant special permissions to an Oracle user when you have a deal with Oracle and WAS XA datasource.
This is required grants:
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)
IBM support site has a good explanation and possible solution.
Also I have answered to the similar question before it might help. stackoverflow
Upvotes: 5