ネット・サービス名およびtnsnames.oraファイル

インストール・プロセスでは各ノードにtnsnames.oraファイルが作成されます。このファイルは、ネット・サービス名のリポジトリとして機能します。各ネット・サービス名は、接続識別子に関連付けられています。接続識別子は、ユーザー定義の名前を接続記述子にマップする識別子です。

接続記述子には、次の情報が含まれます。

  • プロトコル・アドレスを介するリスナーの位置を含む、サービスへのネットワーク・ルート

  • データベース・サービスの名前に設定される値を持つ、SERVICE_NAMEパラメータ

    ノート:

    指定できるサービス名は1つのみであるため、tnsnames.oraファイルで使用するSERVICE_NAMEパラメータは1つです。SERVICE_NAMEパラメータは、service_namesデータベース初期化パラメータとは別です。service_namesデータベース・パラメータにはデフォルトで、初期化パラメータ・ファイルのdb_namedb_domainパラメータからなるグローバル・データベース名が設定されています。SRVCTLまたはOracle Enterprise Manager Cloud Controlを使用してサービス名を追加すると、データベースに対して追加されたクラスタ管理サービスがリストされます。

tnsnames.oraファイルは、Grid_home/network/adminOracle_home/network/adminの両方のディレクトリにあります。Oracle Grid Infrastructureがインストールされている場合、デフォルトでは、Gridホームからtnsnames.oraファイルが読み取られます。

Oracle Clusterware 11g リリース2以上では、リスナーの対応付けにtnsnames.oraファイルのエントリは必要ありません。リスナー対応付けは、次のように構成されます。

  • DBCAでは、LOCAL_LISTENERパラメータは設定されなくなりました。データベースを起動するOracle Clusterwareエージェントは、LOCAL_LISTENERパラメータを動的に設定し、このパラメータに別名ではなく実際の値を設定します。そのため、tnsnames.oraファイルのlistener_aliasエントリは不要になります。

  • REMOTE_LISTENERパラメータは、DBCAによって、SCANとSCANポートを参照するように構成され、tnsnames.oraのエントリは不要です。Oracle Clusterwareではscanname:scanportに簡易接続ネーミング・メソッドを使用するため、tnsnames.oraファイルにREMOTE_LISTENERパラメータに対するリスナーの関連付けは不要です。

たとえば、データベースを作成した後に、ポート2012をリスニングする2番目のリスナーを追加する場合は、次のコマンドと類似したコマンドを使用してデータベースを両方のリスナーに起動時に登録します。

SQL> alter system set local_listener='(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.61)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.61)(PORT=2012))))' 
scope=BOTH SID='OCRL1';

関連項目: