Oracle でのトランザクション障害への対応 |
Oracle サーバ側で、JAVA_XA というパッケージがインストールされていない場合、EJB のトランザクション(JTA のトランザクション)の実行に失敗することがあります。
sqlplus 等で次のコマンドを実行し、インストールされているかどうかを確認してください。
> desc JAVA_XA
トランザクション実行時に、wojdbc.log、または、プロセスグループのログに次の内容が出力されます。(XXXX の部分には、動作状況に応じて異なる値が出力されます。また、oracleErrorCode部分は、出力されないことがあります。)
WOXAResource.start(flag=TMNOFLAGS,TX=XXXX,xa-hash=XXXX,fid=XXXX,gid=XXXX,bid=XXXX) : catch oracle.jdbc.xa.Oracle XAException, xaErrorCode=-3, oracleErrorCode=6550
ログは、次のファイルに出力されます。
エージェント内で動作する場合:
${INSTANCE_ROOT}/logs/jdbc/wojdbc.log
Standard/Enterprise Editionのプロセスグループ内で動作する場合:
${INSTANCE_ROOT}/logs/tpsystem/<apgname>/<pgname>/<pgname>.<pid>.log