Die Gewährung von Oracle-Berechtigungen nicht lösen WebSphere XAER_RMERR Ausnahme?

Ich habe eine Anwendung bereitgestellt, die auf dem WebSphere ND-7.0.0.21. Innerhalb dieser habe ich eine Oracle-XA-Datenquelle konfiguriert ist. Kürzlich die Anwendung ist abgestürzt und als ich es neu gestartet, ich bekam die folgende Ausnahme in der SystemOut.melden Sie jede Sekunde.

[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 com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@7b867b86. 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)

Scheint dies ein standard-problem, wenn die entsprechenden Berechtigungen nicht erteilt wurden, auf die Datenbank zu ermöglichen, den db-Benutzer Zugriff auf die Transaktion erfordern recovery - http://www-01.ibm.com/support/docview.wss?uid=swg21196663

Aber ich lief dann den SQL auf dieser Seite und neu gestartet und der application-server, aber das problem blieb. Das Problem ging erst Weg, wenn ich entfernt die Transaktionsprotokolle (beschrieben als workaround auf der IBM Seite).

Warum würde die Erteilung der Berechtigungen das problem nicht beheben? Kann etwas anderes die Ursache XAER_RMERR problem?

Entfernen Sie die Transaktionsprotokolle ist ziemlich gefährlich, weil Sie lose Informationen über die aktiven Transaktionen.
Ja vereinbart - die habe ich nur entfernt, weil Sie WebSphere versuchen, Sie wiederherzustellen, Sie arbeiteten nicht und es war der Letzte Ausweg. Dies war nicht ein Produktions-system und ich würde nicht wollen, zu tun, dass es (ich will WebSpehere ist die Wiederherstellung, um tatsächlich Arbeit in diesem Fall :-))

InformationsquelleAutor matt freake | 2012-11-06

Schreibe einen Kommentar