6.10.6 Oracle RACデータベースのリスナー構成について
Oracle RACデータベースは、複数のリスナーを使用して、使用可能なインスタンスにクライアントの要求を振り分けます。
Oracle Databaseは、ローカル・リスナーを介して接続要求を受け取ります。ローカル・リスナーはクライアント要求を仲介して、サーバーに渡します。リスナーはプロトコル・アドレスで構成されており、同じプロトコル・アドレスで構成されたクライアントは、そのリスナーに接続要求を送信できます。接続が確立されると、クライアントとOracle Databaseは互いに直接通信します。
ローカル・リスナー(デフォルトのリスナー)は、Oracle Grid Infrastructureのインストール時にGridホームに配置されます。ローカル・リスナーは、データベース接続要求と、外部プロシージャやOracle XML Database (XDB)要求などのデータベース接続以外の要求に応答するように構成されています。データベースが起動されると、データベース・エージェント・プロセス(oraagent.exe
(以前のracgimon
))は、LOCAL_LISTENER
パラメータにOracle Netサービス名を必要としない接続記述子を設定します。GridホームのリスナーのエンドポイントとなるLOCAL_LISTENER
の値が計算されます。
1つのlistener.ora
ファイルには、それぞれが一意の名前を持つ複数のOracle Databaseリスナーを構成できます。データベース・リスナーに対して複数のリスナーを構成できるのは、トップレベルの各構成パラメータにリスナー名の接尾辞があるか、または構成パラメータがリスナー名そのものであるためです。データベースを複数のローカル・リスナーに登録されるように構成するには、LOCAL_LISTENER
パラメータを手動で変更する必要があります。
ノート:
ほとんどのユーザーの環境では、ノードごとに1つのリスナーのみを実行することをお薦めします。Oracle RACデータベースでは、データベース・パラメータREMOTE_LISTENER
がSCANリスナーを識別します。データベースは、これらのパラメータに含まれる接続記述情報を使用して、ローカル・リスナーとSCANリスナーに登録されます。Oracle Database 11g リリース2以降のインスタンスは、リモート・リスナーとしてはSCANリスナーにのみ登録されます。アップグレードしたデータベースは、リモート・リスナーとしてSCANリスナーに登録されるとともに、引き続きすべてのノード・リスナーにも登録されています。
Oracle RACデータベースのREMOTE_LISTENER
パラメータは常にSCANアドレスに設定されます。たとえば、クラスタのSCANがmyscanで、クラスタのGNSサブドメインがmycluster.example.com
である場合、REMOTE_LISTENER
パラメータには次の値が保持されます。
myscan.mycluster.example.com:1521
ノート:
Oracle RACデータベースのREMOTE_LISTENER
パラメータは、SCANをホスト名(HOST=scan
)に使用する単一アドレスを持つOracle Netエイリアスには設定しないでください。