1. WAS 버전 : WebSphere ND v6.1.0.23
2. OS : AIX v5.3
3. Error 발생 시점 : Transaction 을 수행하는 중에 Exception 이 발생한 이후 Roll back 될 때
4. Error message :
WTRN0037W: The transaction service encountered an error on an xa_recover operation.
The resource was com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@1114a62.
The error code was XAER_RMERR. The exception stack trace follows:
javax.transaction.xa.XAException
at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:726)
at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceImpl.java:954)
at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java:137)
at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:609)
at com.ibm.ws.Transaction.JTA.PartnerLogTable.recover(PartnerLogTable.java:511)
at com.ibm.ws.Transaction.JTA.RecoveryManager.resync(RecoveryManager.java:1784)
at com.ibm.ws.Transaction.JTA.RecoveryManager.run(RecoveryManager.java:2241)
5. 예상 이유 : Oracle 을 사용할 경우 Transaction 처리 도중 Exception 이 발생해서 Roll back 되어야 하는데 그에 합당한
권한이 주어지지 않아서 Exception 발생
6. 조치 방안 : SYS User 를 이용해서 transaction 을 roll back 할 수 있는 권한을 하단처럼 부여하여 준다.
grant select on pending_trans$ to public;
grant select on dba_2pc_pending to public;
grant select on dba_pending_transactions to public;
grant execute on dbms_system to <user>;
IBM - old/WAS 문제&해결
댓글