Oracle Databaseによるリスナー・ファイル(listener.ora)の使用

listener.oraファイルは、リスナーの構成ファイルです。これには、接続要求を受け入れるプロトコル・アドレス、リスニングするデータベース・サービスとその他のサービスのリストおよびリスナーにより使用される制御パラメータを含めることができます。

Oracle ClusterwareおよびOracle RACにより使用されるリスナーの構成は、サーバー制御ユーティリティ(SRVCTL)コマンドまたはNETCAを使用して変更できます。listener.oraファイルを手動で編集する必要はありません。

各リスナーは、リスニングするエンドポイントを指定する1つ以上のプロトコル・アドレスで構成されます。リスナー・エージェントはエンドポイントをリスナーで動的に更新します。Oracle Database 11g リリース2からは、listener.oraファイルにIPCキーおよび次の情報のみが含まれるようになりました。

(ADDRESS = (PROTOCOL=TCP)(HOST=)(PORT=1521))

前述の例で、プロトコルADDRESSは、暗黙的にローカル・ノードのHOSTエンドポイントとなります。Oracle RACデータベースの場合、listener.oraファイルはすべてのノードで同じです。ポート番号など、リスニングしているエンドポイントは、リスナーに動的に登録されます。

Oracle RACをインストールする前の、Oracle Grid Infrastructureのインストール中、NETCAはGridホームにLISTENERと呼ばれるデフォルトのリスナーを作成して起動します。このリスナーは、デフォルトのプロトコル・リスニング・アドレスで構成されます。このリスナーは、インストール中に指定した1つのプロトコル・アドレスに送信された接続要求に応答するように構成されます。

Oracle RACのインストール中に、Oracle RACデータベースはGridホームのリスナーを使用して、Oracle RACデータベースに関するサービス情報を構成します。データベース・サービスは、その情報(サービス名、インスタンス名、ロード情報など)をリスナーに自動的に登録します。動的なサービス登録よって、データベース・サービスの静的な構成が不要になります。ただし、Oracle Enterprise Managerを使用する予定の場合は、静的なサービス構成が必要です。

例6-4 Oracle RACノードのlistener.oraファイルの例

次は、インストール後の状態のlistener.oraファイルの例で、node1というノードとSCANリスナーに関するエントリが記述されています。

LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_
SCAN1))))               # line added by Agent
LISTENER_NODE1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC) (KEY=LISTENER))))
          # line added by Agent
# listener.ora.mycluster Network Configuration File:
/u01/app/oracle/product/18.0.0/dbhome_1/network/admin/listener.ora.mycluster
# Generated by Oracle configuration tools.
 
LISTENER_NODE1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
 
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_NODE1=ON		# line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN2=ON		# line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON		# line added by Agent