サイドバーの壁紙
博主头像
tin博主等级

子の曰わく、我れ三人行なえば必ず我が師を得(う)。其の善き者を択びてこれに従う。其の善からざる者にしてこれを改む。

  • 累積執筆 72 記事
  • 累計作成 32 タグ
  • 累計受入 2 コメント

目 次CONTENT

記事目次

WebSphere障害その1(oracle xa recove、XAException)

tin
tin
2023-10-01 / 0 コメント / 0 いいね! / 166 読み / 768 文字

1. WebSphere障害その1(oracle xa recove、XAException)

経緯:
①WebSphereに配置しているプロジェクトがトランザクションを使っています。
②稼働中、更新エラーが発生し、WebSphereを強制停止
③SQL PLUSで確認し、更新エラーが発生したデータはロックされていて、更新不能
④SQL PLUSでロックを解除
⑤WebSphereを再起動(プロジェクトも再稼働)すると、oracle xa recoveのエラーが発生しています。

2. WebSphereがいくつかの異常な状況(たとえば、WebSphereサービスの異常終了など)で発生した場合、次のエラーメッセージが表示されます。

3. ログトレース

[23-5-24 12:45:09:165 CST] 00000012 InternalOracl I DSRA8203I: データベースの製品名:Oracle
[23-5-24 12:45:09:174 CST] 00000012 InternalOracl I DSRA8204I: データベースの製品バージョン:Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
パーティショニング、OLAP、データマイニング、およびリアルアプリケーションテストのオプションを備えています
[23-5-24 12:45:09:181 CST] 00000012 InternalOracl I DSRA8205I: JDBCドライバー名:Oracle JDBCドライバー
[23-5-24 12:45:09:185 CST] 00000012 InternalOracl I DSRA8206I: JDBCドライバーバージョン:10.2.0.1.0
[23-5-24 12:45:09:189 CST] 00000012 InternalOracl I DSRA8212I: DataStoreHelperの名前は:com.ibm.websphere.rsadapter.Oracle10gDataStoreHelper@44aa44aaです。
[23-5-24 12:45:09:193 CST] 00000012 WSRdbDataSour I DSRA8208I: JDBCドライバータイプ:“”
[23-5-24 12:45:09:208 CST] 00000012 WSRdbXaResour E DSRA0304E: XAExceptionが発生しました。XAExceptionの内容と詳細情報は:原因は:nullです。
[23-5-24 12:45:09:212 CST] 00000012 WSRdbXaResour E DSRA0302E: XAExceptionが発生しました。エラーコードは:XAER_RMERR (-3)です。例外:
[23-5-24 12:45:09:217 CST] 00000012 XARminst E WTRN0037W: xa_recover操作中にトランザクションサービスでエラーが発生しました。リソースはcom.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@1e681e68です。エラーコードはXAER_RMERRです。例外スタックトレースは次のようになります:javax.transaction.xa.XAException
at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:526)
at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceImpl.java:1038)
at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java:138)
at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:687)
at com.ibm.ws.Transaction.JTA.PartnerLogTable.recover(PartnerLogTable.java:524)
at com.ibm.ws.Transaction.JTA.RecoveryManager.resync(RecoveryManager.java:1859)
at com.ibm.ws.Transaction.JTA.RecoveryManager.run(RecoveryManager.java:2580)

4. 解決策

SYSDBAでSQL PLUSにログイン
以下のコマンドを実行(トランザクションの権限の付与)
参考:権限の確認

grant select on sys.dba_pending_transactions to  username;
grant select on sys.pending_trans$ to username;
grant select on sys.dba_2pc_pending to username;
grant execute on sys.dbms_system to username;
0
  • 0

コメント欄