6.10.8 SCAN使用時のデータベース接続の作成方法
サービス名を使用しているOracle RACデータベースにSCANを使用して接続する場合は、環境に基づいて次のアクションが発生します。
番号が付けられたアクションは、手順の後に表示されている図に示されている矢印に相当します。
-
各インスタンスのLREGプロセスは、ローカル・ノード上のデフォルトのリスナーと、
REMOTE_LISTENERデータベース・パラメータで指定された各SCANリスナーにデータベース・サービスを登録します。リスナーは、インスタンスとディスパッチャによって処理されている作業の量に基づいて動的に更新されます。 -
クライアントは、次の書式の接続記述子を使用して、データベース接続要求を発行します。
orausr/@scan_name:1521/webapp注意:
簡易接続ネーミング・メソッドを使用する場合は、クライアントのsqlnet.oraファイルに、NAMES.DIRECTORY_PATHパラメータで指定されたネーミング・メソッドのリストのEZCONNECTが含まれていることを確認します。 -
クライアントは、DNSを使用してscan_nameを解決します。SCANに割り当てられる3つのアドレスがDNSから戻された後、クライアントは1番目のIPアドレスに接続要求を送信します。接続要求が失敗すると、クライアントは次のIPアドレスを使用して接続を試行します。
-
接続要求が成功すると、クライアントは、
salesデータベースをホストし、webappサービスを提供するインスタンスを持つクラスタのSCANリスナーに接続します(この例ではsales1とsales2です)。SCANリスナーは、インスタンスsales1およびsales2のワークロードと、これらが実行されているノードのワークロードを比較します。SCANリスナーがnode2はnode1よりも負荷が小さいと判断すると、SCANリスナーはnode2を選択し、そのノードのリスナーのアドレスをクライアントに送信します。 -
クライアントは、
node2のローカル・リスナーに接続します。ローカル・リスナーは、データベース接続のための専用サーバー・プロセスを起動します。 -
クライアントは、
node2の専用サーバー・プロセスに直接接続し、sales2データベース・インスタンスにアクセスします。
