- PR -

■WebLogic+Oracle■XAドライバを使用した接続プールの作成

1
投稿者投稿内容
あさぬみ
会議室デビュー日: 2004/05/27
投稿数: 5
投稿日時: 2004-07-07 18:46
こんにちわ。
WebLogic8.1jにてConnectionプールの設定時にExceptionが発生して困っています。
knowledgeのある方、助けていただけませんでしょうか。

■環境■
APサーバ WebLogic 8.1J sp2 (Win2000上にて稼動)
DBサーバ Oracle9i(Solaris 9[SPARC] 上にて稼動)

Oracle上にtestdb,shopdbという2つのインスタンスが起動している.
listnerも稼動している.

■やりたいこと■
WebLogicコンソールから接続プールの設定を両インスタンスに対して行う.
(グローバルトランザクションを検証したいので、
接続に使用するドライバはXA対応ドライバを用いる)

具体的に使用したドライバは
データベースタイプ:Oracle
データベースドライバ:BEA's Oracle Driver(Type 4 XA) Versions 8.1.7.9.0.1.9.2.0

■状況■
「ドライバのコンフィグレーション」は成功する(両インスタンスとも)
「作成とでデプロイ」
をしたときに、testdbの場合だけ、コンソールにExceptionが表示され、
接続プールの作成に失敗する.shopdbに対しては問題なく接続プールが
作成され、グローバルトランザクションに参加できた.

■Exception内容■
次のようなExceptionがWebLogicのコンソールに表示される

java.sql.SQLException: [BEA][Oracle JDBC Driver][Oracle]ORA-29516: Aurora assertion failure: Assertion failure at joncomp.c:127
jtc_active_clint_init_ncomp_slots(sun/io/CharToByteConverter, 0) returned 0
ORA-06512: at "SYS.JAVA_XA", line 0
ORA-06512: at line 1

at weblogic.jdbc.base.BaseExceptions.createException(Unknown Source)
at weblogic.jdbc.base.BaseExceptions.getException(Unknown Source)
at weblogic.jdbc.oracle.OracleImplStatement.execute(Unknown Source)
at weblogic.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at weblogic.jdbc.base.BaseStatement.executeInternal(Unknown Source)
at weblogic.jdbc.base.BasePreparedStatement.execute(Unknown Source)
at weblogic.jdbcx.oracle.OracleImplXAResource.start(Unknown Source)
at weblogic.jdbcx.base.BaseXAResource.start(Unknown Source)

■インスタンスの設定■
shopdbではExceptionが発生しないことから、インスタンスの設定の問題と思い、設定値の比較を行った.
init{SID}.ora ファイルを両インスタンスについて調べたが、ほぼ同一の内容.
唯一、MTSの項目が以下のように異なった.
tesdb: dispatchers="(PROTOCOL=TCP) (SERVICE=testdbXDB)"
shopdb: dispatchers="(PROTOCOL=TCP) (SERVICE=shopdbXDB)", "(PROTOCOL=TCP)"

お知恵のある方、(XAを使用するときにOracle側で必要な設定値など)問題点を指摘していただけませんでしょうか.
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2004-07-08 12:06
引用:

java.sql.SQLException: [BEA][Oracle JDBC Driver][Oracle]ORA-29516: Aurora assertion failure: Assertion failure at joncomp.c:127



Oracleのエラーメッセージマニュアルには、
「処置: オラクル社カスタマ・サポート・センターに連絡してください。」
と書いてありますよ。
あさぬみ
会議室デビュー日: 2004/05/27
投稿数: 5
投稿日時: 2004-07-08 15:20
カーニーさん。どうもレスありがとうございます。

ということは、やはり実装側の問題というよりは、ミドルウェアのバグ?とかなんでしょうか。

一応、非XAドライバを使用しても、WebLogicの機能(2フェイズコミットのエミュレート)を使用することでグローバルトランザクションが機能することが確かめられたので、XAドライバを用意することがmustではないのですが・・・
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-07-08 17:11
>一応、非XAドライバを使用しても、WebLogicの機能(2フェイズコミットのエミュレート)を使用することで
>グローバルトランザクションが機能することが確かめられたので、XAドライバを用意することがmustではな
>いのですが・・・
ちなみに2フェーズのエミュレートができるのは1トランザクションあたり1つのリソースに限ります。
そのリソースを最後にコミットすることで実現していますので。
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2004-07-08 18:56
引用:

ということは、やはり実装側の問題というよりは、ミドルウェアのバグ?とかなんでしょうか。



んー、僕には判断できないので、それも含めてサポートに聞くのがよいとおもいます。
1

スキルアップ/キャリアアップ(JOB@IT)