第17章 よくある質問 (FAQ)

17.1. Oracle XA の問題

以下を確認してください。
  1. conf/jboss-service.xml の XidFactory が pad=true になっていますか。
  2. oracle-xa-ds.xml に <track-connection-by-tx/> がありますか (JBoss Enterprise Application Platform 5.x ではデフォルトで有効におり、 要素が廃止されたため必要ありません)。
  3. oracle-xa-ds.xml に <isSameRM-override-value>false</isSameRM-override-value> がありますか。
  4. oracle-xa-ds.xml に <no-tx-separate-pools/> がありますか。
  5. jbosscmp-jdbc.xml が使用している Oracle と同じバージョンを指定していますか。
  6. 接続する Oracle サーバーに XA がありますか。
XA サポート向けの Oracle データベースを設定すると、 Oracle データベースが XA リソースをサポートするよう設定することができます。 これにより、 JDBC 2.0 対応の Oracle ドライバーを使用することができます。 Oracle データベースを XA 向けに初期化するには、 次の手順に従ってください。
Oracle JServer がご利用中のデータベースにインストールされているようにしてください。 インストールされていない場合は、Oracle データベース設定アシスタントを使用して追加する必要があります。 「Change an Existing DB」を選択し、 Oracle JServer を追加したいデータベースを指定します。 「Next」、「Oracle JServer」、「Finish」を順に選択します。 以前設定したデータベース設定が Oracle JServer に適していない場合、あるいは十分でない場合は、 追加のパラメーターを入力するよう求められます。 データベース設定ファイルinit.ora\oracle\admin\<your_db_name>\pfileディレクトリにあります。 データベース上で initxa.sql を実行します。 デフォルトでは、 このスクリプトファイルは \oracle\ora81\javavm\install にあります。 ファイル実行中にエラーが発生した場合は、 手作業でファイルから SQL ステートメントを実行する必要があります。 DBA Studio を使用してパッケージと JAVA_XA という名前のパッケージボディーを SYS スキーマに作成し、 このパッケージのシノニム (名前は同様に JAVA_XA) を PUBLIC スキーマに作成します。