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エイリアスには設定しないでください。