2012-11-06 31 views
1

我在WebSphere ND 7.0.0.21上部署了一個應用程序。在那裏我配置了一個Oracle XA數據源。最近應用程序崩潰了,當我重新啓動它時,我開始每秒在SystemOut.log中獲得以下例外。授予Oracle權限不會修復WebSphere XAER_RMERR異常?

[11/6/12 13:55:38:650 GMT] 0000000c InternalGener I DSRA8205I: JDBC driver name : Oracle JDBC driver 
[11/6/12 13:55:38:651 GMT] 0000000c InternalGener I DSRA8206I: JDBC driver version : 11.2.0.2.0 
[11/6/12 13:55:38:661 GMT] 0000000c InternalOracl I DSRA8212I: DataStoreHelper name is: com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper. 
[11/6/12 13:55:38:662 GMT] 0000000c WSRdbDataSour I DSRA8208I: JDBC driver type : "" 
[11/6/12 13:55:38:685 GMT] 0000000c WSRdbXaResour E DSRA0304E: XAException occurred. XAException contents and details are: The cause is    : null. 
[11/6/12 13:55:38:837 GMT] 0000000c WSRdbXaResour E DSRA0302E: XAException occurred. Error code is: XAER_RMERR (-3). Exception is: <null> 
[11/6/12 13:55:38:837 GMT] 0000000c 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:709) 
     at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceImpl.java:1088) 
     at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java:141) 
     at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:626) 
     at com.ibm.tx.jta.PartnerLogTable.recover(PartnerLogTable.java:389) 
     at com.ibm.tx.jta.RecoveryManager.resync(RecoveryManager.java:1530) 
     at com.ibm.tx.jta.RecoveryManager.performResync(RecoveryManager.java:2265) 
     at com.ibm.ws.tx.jta.RecoveryManager.performResync(RecoveryManager.java:114) 
     at com.ibm.tx.jta.RecoveryManager.run(RecoveryManager.java:2218) 
     at java.lang.Thread.run(Thread.java:736) 

這似乎是在相應的權限還沒有被授予數據庫的標準問題,以允許交易的數據庫用戶訪問需要恢復 - http://www-01.ibm.com/support/docview.wss?uid=swg21196663

不過,我當時運行的SQL上該頁面並重新啓動應用程序服務器,但問題仍然存在。當我刪除事務日誌(在IBM頁面上描述爲解決方法)時,問題才消失。

爲什麼授予權限不能解決問題?其他的事情會導致XAER_RMERR問題嗎?

+0

刪除事務日誌非常危險,因爲您丟失有關活動事務的信息。 – steve

+0

是的同意 - 我只是刪除了它們,因爲WebSphere試圖恢復它們不起作用,這是最後的手段。這不是一個生產系統,我不想那樣做(我希望WebSpehere的恢復在這種情況下實際工作:-)) –

回答

1

我建議如爲了看到返回的實際誤差在相關的MustGather(http://www-01.ibm.com/support/docview.wss?uid=swg21153216)描述,從而使痕跡數據庫。

+0

謝謝你。我沒有IBM的支持合同,所以我不確定,是否會提供我可以使用自己的信息。 –

0

刪除事務日誌和合作夥伴日誌解決了這個問題。當然,在具有複雜事務處理方案的生產環境中執行此操作時必須謹慎行事,而且WebSphere本身無法恢復它們。