• 締切済み

コネクションプーリングの確認方法について

JDBCを使用してOracleへアクセスするWeb画面があります。 コネクションプーリングに対応しているとのことなので、実際に有効になっているのか確認したいのですが、次の方法で正しいのでしょうか。 (1)SQL文が実行されるWeb画面の処理を動作させた時に、OracleのV$SESSIONで、存在する「セッション識別子+シリアル番号」を確認する。 (2)この処理を何回実行しても、V$SESSIONに同じ「セッション識別子+シリアル番号」の行が存在したままになるのか確認する。 もし、Web画面の処理を実行させる度に、新しい「セッション識別子+シリアル番号」の行が増えていく場合は、コネクションプーリングが有効になっていないと考えてもいいのでしょうか。 現状は、コネクション上限数の設定に関係なく、V$SESSIONに新しい行がどんどん発生し、古い行はあるタイミングでごっそり消えるという状態です。これはコネクションプーリングされている状態なのか、コネクションプーリングされていない状態なのか、それともコネクションプーリングとは全く関係ないのか知りたいです。 (なお、アイドルタイムアウトの設定は十分長く、タイムアウトは発生しない(はず?)のタイミングでWeb画面を操作しています。)

みんなの回答

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

このあたりを参考に コネクションプーリングとV$SESSIONの数とは関連性がないと思うけど。

参考URL:
http://www.oracle.com/technetwork/jp/articles/chapter5-1-101584-ja.html
nittoyoo
質問者

補足

回答ありがとうございます。 紹介いただいたページは、コネクションプーリングについて分かりやすく解説してあり、大変参考になります。 今回の質問は、参考ページの図9の物理接続の状態を知るためには、DBサーバー側でV$SESSIONを確認するのが正しいのか、という内容です。 また、質問には記述していませんが、あわよくば図20の振る舞いも確認できるかも、と期待しています。 コネクションプーリングが有効であれば、SQL文を発行する度に物理接続の接続/切断を繰り返すはずはありません。 Web画面を動かしたところ、V$SESSIONの情報が質問に記述した状態になったため、コネクションプーリングが有効になっていないかも? と疑念を持ち、質問した次第です。

関連するQ&A