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

インストール・プロセスでは各ノードに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ファイルのエントリは必要ありません。リスナー対応付けは、次のように構成されます。

  • Oracle Database Configuration Assistant(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パラメータに対するリスナーの関連付けは不要です。

例6-2 Oracle RACデータベースへの2番目のリスナーの追加

orcl1というデータベースを作成した場合に、ポート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';

関連項目: