第17章 よくある質問 (FAQ)
17.1. Oracle XA の問題
以下を確認してください。
XA サポート向けの Oracle データベースを設定すると、 Oracle データベースが XA リソースをサポートするよう設定することができます。 これにより、 JDBC 2.0 対応の Oracle ドライバーを使用することができます。 Oracle データベースを XA 向けに初期化するには、 次の手順に従ってください。
- conf/jboss-service.xml の XidFactory が pad=true になっていますか。
- oracle-xa-ds.xml に <track-connection-by-tx/> がありますか (JBoss Enterprise Application Platform 5.x ではデフォルトで有効におり、 要素が廃止されたため必要ありません)。
- oracle-xa-ds.xml に <isSameRM-override-value>false</isSameRM-override-value> がありますか。
- oracle-xa-ds.xml に <no-tx-separate-pools/> がありますか。
- jbosscmp-jdbc.xml が使用している 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 スキーマに作成します。