ネット・サービス名およびtnsnames.oraファイル
Oracle RACデータベースのインストール・プロセスでは、各ノードにtnsnames.ora
ファイルが作成されます。このファイルは、ネット・サービス名のリポジトリとして機能します。
各ネット・サービス名は、接続識別子に関連付けられています。接続識別子は、ユーザー定義の名前を接続記述子にマップする識別子です。接続記述子には、次の情報が含まれます。
-
プロトコル・アドレスを介するリスナーの位置を含む、サービスへのネットワーク・ルート
-
データベース・サービスの名前に設定される値を持つ、
SERVICE_NAME
パラメータノート:
指定できるサービス名は1つのみであるため、
tnsnames.ora
ファイルで使用するSERVICE_NAME
パラメータは1つです。SERVICE_NAME
パラメータは、service_names
データベース初期化パラメータとは別です。service_names
データベース・パラメータにはデフォルトで、初期化パラメータ・ファイルのdb_name
とdb_domain
パラメータからなるグローバル・データベース名が設定されています。SRVCTLまたはOracle Enterprise Manager Cloud Controlを使用してサービス名を追加すると、データベースに対して追加されたクラスタ管理サービスがリストされます。
通常、Oracle Database Configuration Assistant (DBCA)やOracle Net Configuration Assistant (NETCA)などのツールでは、tnsnames.ora
ファイルが、Oracle Databaseインストールの場合はORACLE_HOME/network/admin
ディレクトリ、Oracle Grid Infrastructureインストールの場合はGRID_HOME/network/admin
ディレクトリ、読取り専用Oracleホームの場合は対応するORACLE_BASE_HOME/network/admin
ディレクトリに作成されます。なお、複数のデータベースをインストールしてある場合は、このファイルは、DBCAまたはNETCAが実行されているOracleホームまたはGridホーム(または読取り専用インスタンスの場合はOracleベース・ホーム)に作成されます。
Oracle Netは、次の順序でtnsnames.ora
ファイルをチェックします:
-
環境変数
TNS_ADMIN
で指定されたディレクトリ。 -
TNS_ADMIN
環境変数が設定されていないか、このファイルがTNS_ADMIN
ディレクトリにない場合:-
Oracle Databaseインストールの場合:
ORACLE_HOME/network/admin
ディレクトリ(または読取り専用Oracleホームの場合はORACLE_BASE_HOME/network/admin
ディレクトリ)。 -
Oracle Grid Infrastructureインストールの場合:
GRID_HOME/network/admin
ディレクトリ(または読取り専用Oracleホームの場合はORACLE_BASE_HOME/network/admin
ディレクトリ)。
-
-
読取り専用Oracleホームの場合に、このファイルがOracleベース・ホームに見つからないとき:
-
Oracle Databaseインストールの場合:
ORACLE_HOME/network/admin
ディレクトリ。 -
Grid Infrastructureインストールの場合:
GRID_HOME/network/admin
ディレクトリ。
-
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';
関連項目:
-
tnsnames.ora
ファイルの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。