본문 바로가기

database

JEUS XAException발생시 처리방법

jeus에서 data-source를 사용할 때, data-source-typeXADataSource으로 하면 다음과 같은 에러를 접하게 됩니다.

 

[2007.11.20 10:53:04][0][0_434] [container1-11] [TMRecovery-1217] XA Exception has occurred with error code error code : -3, XAER_RMERR, A resource manager error has occurred in the transaction branch. while calling recover().

<<__Exception__>>

javax.transaction.xa.XAException

           at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:715)

           at jeus.transaction.logging.TxRecoveryDelegator.setUpControlSessionContainer(TxRecoveryDelegator.java:690)

           at jeus.transaction.logging.TxRecoveryDelegator.resyncXAResources(TxRecoveryDelegator.java:314)

           at jeus.transaction.logging.TxRecoveryDelegator.doTxRecovery(TxRecoveryDelegator.java:65)

           at jeus.transaction.logging.HowlLogManager.doRecover(HowlLogManager.java:495)

           at jeus.transaction.TMServer$RecoveryThread.run(TMServer.java:582)

<<__!Exception__>>

 

해결방법은 sys 계정으로 오라클에 접근한후

 

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>;

 

위 명령을 실행해줍니다.

 

참조 :

http://www-1.ibm.com/support/docview.wss?rs=0&q1=3979190&uid=swg21196663&loc=en_US&cs=utf-8&cc=us&lang=en