2016-10-05 3 views
0

Мы получаем ошибку ниже при запуске служб на сервере IBM WebSphere. Не могли бы вы рассказать мне, почему мы получаем ошибку ниже.Получение ошибки XAER_RMERR в веб-сфере IBM

[10/5/16 5:58:28:812 UTC] 00000007 XARecoveryDat A WTRN0146I: Obtained 0 xid(s) from xa recover on XAResource: XYZ of which 0 will be processed by this server 
[10/5/16 5:58:28:814 UTC] 00000007 XARecoveryDat A WTRN0151I: Preparing to call xa recover on XAResource: ABC 
[10/5/16 5:58:28:872 UTC] 00000007 WSRdbXaResour E DSRA0304E: XAException occurred. XAException contents and details are: "". 
[10/5/16 5:58:28:872 UTC] 00000007 WSRdbXaResour E DSRA0302E: XAException occurred. Error code is: XAER_RMERR (-3). Exception is: <null> 
[10/5/16 5:58:28:872 UTC] 00000007 XARminst  E WTRN0037W: The transaction service encountered an error on an xa_recover operation. The resource was [email protected] The error code was XAER_RMERR. The exception stack trace follows: javax.transaction.xa.XAException 
    at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:730) 
    at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceImpl.java:1105) 
    at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java:141) 
    at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:716) 
    at com.ibm.tx.jta.impl.PartnerLogTable.recover(PartnerLogTable.java:432) 
    at com.ibm.tx.jta.impl.RecoveryManager.resync(RecoveryManager.java:1542) 
    at com.ibm.tx.jta.impl.RecoveryManager.performResync(RecoveryManager.java:2275) 
    at com.ibm.ws.tx.jta.RecoveryManager.performResync(RecoveryManager.java:119) 
    at com.ibm.tx.jta.impl.RecoveryManager.run(RecoveryManager.java:2228) 
    at java.lang.Thread.run(Thread.java:784) 

ответ

1

XA - реализация Oracle для обработки распределенных транзакций с использованием двухфазной фиксации. Вышеприведенная ошибка указывает на то, что WAS пытается вызвать операцию восстановления XA в источнике данных, который был определен как источник данных типа XA. Вызов невозможен, вероятно, потому, что база данных не включена для поддержки внешнего диспетчера транзакций (в этом случае WAS).

Если вам не нужно использовать транзакции XA, вы можете удалить журналы транзакций из WAS, чтобы избавиться от ошибки (папка [profile_root]/tranlog). Если вам нужна поддержка XA для ваших приложений, вы можете включить ее на стороне Oracle, используя сценарий initxa.sql, который поставляется вместе с Oracle DB.