- - PR -
■WebLogic+Oracle■XAドライバを使用した接続プールの作成
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 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側で必要な設定値など)問題点を指摘していただけませんでしょうか. | ||||
|
投稿日時: 2004-07-08 12:06
Oracleのエラーメッセージマニュアルには、 「処置: オラクル社カスタマ・サポート・センターに連絡してください。」 と書いてありますよ。 | ||||
|
投稿日時: 2004-07-08 15:20
カーニーさん。どうもレスありがとうございます。
ということは、やはり実装側の問題というよりは、ミドルウェアのバグ?とかなんでしょうか。 一応、非XAドライバを使用しても、WebLogicの機能(2フェイズコミットのエミュレート)を使用することでグローバルトランザクションが機能することが確かめられたので、XAドライバを用意することがmustではないのですが・・・ | ||||
|
投稿日時: 2004-07-08 17:11
>一応、非XAドライバを使用しても、WebLogicの機能(2フェイズコミットのエミュレート)を使用することで
>グローバルトランザクションが機能することが確かめられたので、XAドライバを用意することがmustではな >いのですが・・・ ちなみに2フェーズのエミュレートができるのは1トランザクションあたり1つのリソースに限ります。 そのリソースを最後にコミットすることで実現していますので。 | ||||
|
投稿日時: 2004-07-08 18:56
んー、僕には判断できないので、それも含めてサポートに聞くのがよいとおもいます。 | ||||
1
