ORACLE/ネットワークファイル編

オラクルちょこっとリファレンス

HOME > ネットワークファイル編

ネットワークファイル

ネットワークに関するファイルには「tnsnames.ora」「sqlnet.ora」「listener.ora」の3つがあります。デフォルトでは、%ORACLE_HOME%\network\ADMIN\にあります。
この場所を変更したい場合は「TNS_ADMIN」環境変数でフォルダを指定します。
以降で3つのファイルを詳しく見ていきましょう。

tnsnames.oraファイル

tnsnames.oraファイルはクライアント側に置くファイルで、ローカルネーミング構成のネットワークで使用します。Oracleでデータベースに接続する時は「connect system/manager@oradb」などと記述しますが、@以降の文字の部分を接続識別子といい、接続先のデータベースを表しています。

ホストネーミング構成の場合はここがホスト名(サーバ名)となるので、そのホスト名を使って接続にいけるのですが、ローカルネーミング構成の場合は、下のサンプルでいうと、oradbの部分を@以下に指定して、ここで記述されたホストやポートを使って接続します。

(tnsname.ora設定例)
oradb = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DB01) ) )
パラメータ 説明
oradb(←例) ネットサービス名。 接続する時の@以下の名称です。
(パラメータ名は例です)
ADDRESS 接続するリスナーの接続情報。
基本的にPROTCOLはTCPのままで変更しません。
HOSTはOracleがインストールされているマシンを指定します。
PORT番号はデフォルト1521ですが、1つのマシン上に複数のDBサーバを立てる場合にはそれぞれのDBサーバに対して別のポート番号を割り振る必要があります。
CONNECT_DATA 接続先DBのSID
SERVER=DEDICATED 共有サーバ構成時に専用サーバ接続する場合に指定

sqlnet.oraファイル

sqlnet.oraファイルはクライアントとサーバに必要なネットワークファイルで(ローカルネーミング構成の場合はクライアント側には不要)、使用するネーミングメソッドの優先順やデフォルトのドメイン名を指定します。

(sqlnet.ora設定例)
SQLNET.AUTHENTICATION_SERVICES = (NTS) NAMES.DIRECTORY_PATH = (TNSNAMES, HOSTNAME) NAMES.DEFAULT_DOMAIN = winsrv
パラメータ 説明
SQLNET.AUTHENTICATION_SERVICES NONE/ALL/NTSのいずれか
NAMES.DIRECTORY_PATH ネーミングメソッドの優先順を指定します
左から順に解決します。
・TNSNAMES:ローカルネーミング
・HOSTNAME:ホストネーミング
NAMES.DEFAULT_DOMAIN 接続識別子にドメインが省略された場合のデフォルトドメイン

listener.oraファイル

リスナーとはクライアントからのDB接続要求を受け取るプロセスのことで、このファイルにてリスナーの設定ができます。

クライアントからの接続は全てリスナーが受け取り、リスナーがどこのデータベースへ接続すればよいか判断します。 その接続先のデータベースをこのリスナーファイルに記述します。このファイルはサーバ側に置くファイルです。

リスナー名はlistener.oraファイル内で一意にする必要があります。また、デフォルトリスナーを使用する時のみ当ファイルが存在していなくてもOKです。

(listener.ora設定例)
LISTENER = //:リスナー名 (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv)(PORT = 1521)) ) ) ) SID_LIST_LISTENER = //:接続先データベース (SID_LIST = (SID_DESC = (SID_NAME = DB01) (ORACLE_HOME = C:\oracle\ora90) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = db01.world) (ORACLE_HOME = C:\oracle\ora90) (SID_NAME = DB01) ) ) LOGGING_LISTENER = ON LOG_FILE_LISTENER = listener.log PASSWORDS_LISTENER = password TRACE_FILE_LISTENER = listener.trc TRACE_LEVEL_LISTENER = OFF
パラメータ 説明
GLOBAL_DBNAME 静的サービス構成ならSERVICE_NAMESパラメータの値
SID_NAME インスタンスを識別するORACLE_SIDを設定する
ORACLE_HOME オラクルがインストールされているルートパスを指定する
LOGGING_LISTENER ログ出力のする(ON)/しない(OFF)
 ※デフォルトON
LOG_FILE_LISTENER ログファイル名
 ※デフォルト:listener.log
LOG_DIRECTORY_LISTENER ログファイルを作成するディレクトリ
PASSWORDS_LISTENER lsnrctlプロンプト起動時の認証に使用するパスワード
TRACE_FILE_LISTENER トレースファイル名
 ※デフォルト:listener.trc
TRACE_DIRECTORY_LISTENER トレースファイルを作成するディレクトリ
TRACE_LEVEL_LISTENER トレース機能の設定(OFF/USER/ADMIN/SUPPORT)
 ※デフォルトOFF

太字でLISTENERとなっている所はリスナー名が入ります。
(デフォルトのリスナーを使っている場合はこのままでOKです)

ToTop