1

Oracle 10g データベースに db1、db2、db3 などの 3 つの RAC ノードがあるロード バランスを使用しようとしています。JDBC接続でJavaプログラムを開発しました。この JDBC 接続は負荷分散を使用します。私の問題は、この JDBC 接続でヒットする RAC ノード (db1、db2、または db3 のいずれか) を出力したいということです。現在の JDBC 接続でヒットした RAC ノードを知るために SQL クエリを提供できる人はいますか? JDBCシンを介して接続するときに、ロードバランスが正常に使用されることをテストしたいと思います。JDBC Java プログラムを使用して負荷分散をテストする別の方法を提案できる人はいますか?

4

2 に答える 2

3
select instance_name from v$instance
于 2013-01-16T07:03:40.710 に答える
2

通常、次のようなことを行って、負荷分散が機能していることをテストします。

SELECT inst_id, count(*)
  FROM gv$session
 WHERE <<something that identifies your connections>>
 GROUP BY inst_id

インスタンスごとのセッション数を取得します。は<<something that identifies your connections>>、列の述語MACHINE(接続が 1 つ以上のアプリ サーバーからのものであると仮定)、PROGRAM列、 、OSUSERSCHEMANAMEまたは関心のあるセッションを識別するその他のものです。

この情報を Java アプリケーションとは別に取得したい場合は、

SELECT DISTINCT inst_id
  FROM gv$mystat

いずれの場合もinst_id、テーブルを使用して、どのサーバーにどのマップがマップされているかを調べることができgv$instanceます。

于 2013-01-16T01:59:12.547 に答える