WebOTX Manual V10.2 (第4版) 目次を表示 |
トランザクションを実行するユーザアカウントに対してDBA_PENDING_TRANSACTIONS
ビューのSELECT権限が付与されていない場合、トランザクションのリカバリ処理が異常終了し、次のエラーメッセージがイベントログ(UNIXではsyslog)に出力されます
(XXXX の部分には、動作状況に応じて異なる値が出力されます)。
The XA function has failed because of a
cause indicated by the code. function =xa_recover() for JDBC(xxxx)
rc = -3
また、Oracle Database 10g Release 2
以降を使用する場合、トランザクションを実行するユーザアカウントに対してDBMS_SYSTEMパッケージへのEXECUTE権限が付与されていないと、同様の障害が発生します。
「トランザクションを実行するユーザ」とは、JDBC データソースの定義で指定したユーザか、EJB
の配備時にリソース参照設定で指定したユーザ、あるいは、プログラム中でJDBC
コネクションを取得する際に指定しているユーザ、または、TransactionサービスのJDBCリソースの定義で指定したユーザ(デフォルトではJDBCデータソースの定義と同じユーザ)のいずれかになります。
sqlplus
等で、トランザクションを実行するユーザアカウントで次のコマンドを実行し、権限が付与されているかどうかを確認してください。
> select * from sys.dba_pending_transactions;
> exec sys.dbms_system.ksdddt;
> grant select on dba_pending_transactions to scott; > grant execute on dbms_system to scott;