Oracle Net Servicesとリモート接続
Oracle Net Servicesとリモート接続
ネットワークを介してOracleデータベースに接続することをリモート接続といいます。
リモート接続を行うには、Oracle Net Servicesの構成が必要です。
以下、リモート接続を行う際の前提です。
・接続元コンピュータ(クライアント)及び、データベースサーバーは必要なソフトウェアが導入及び構成済み。
・接続元のクライアントアプリケーションとしてSQL*Plusを使用する。
・接続先Oracleデータベースの情報を、クライアントに配置した設定ファイルtnsnames.oraから得る。(ローカルネーミング) ※1

①接続先Oracleデータベースに対応する接続識別子を指定して、SQL*Plusを起動。
②tnsnames.oraから接続識別子に対応する接続先Oracleデータベースの情報(接続記述子)を得る。→名前解決 ※1
③接続記述子のホスト名およびポート番号で接続を待ち受けるリスナーに対して、接続要求を送信。
④接続要求を受信したリスナーは、接続要求に含まれるデータベースサービス名に対応するOracleデータベースに接続を中継。
⑤SQL*PlusとOracleデータベースでリモート接続が確立される。
※1 接続識別子をtnsnames.oraに記載し接続する方法のほかに、SQL*Plusに接続識別子を直接記載する方法もあります。(簡易接続ネーミング)
ex.)データベースサーバー(172.16.199.1)のOracleデータベースにリモート接続する場合
●ローカルネーミング:tnsnames.oraに記載。
●簡易接続ネーミング:コマンドラインに直接記載。
(左:tnsnames.ora、右:接続時のコマンドプロンプト)

以下、各ネーミングメソッドとなります。
| ネーミングメソッド | 接続識別子から接続先情報を解決する方法 |
|---|---|
| 簡易接続ネーミング(EZCONNECT) | 接続識別子に接続先情報を直接指定する。 |
| ローカルネーミング(TNSNAMES) | クライアントコンピュータ上の設定ファイルtnsnames.oraに接続識別子と接続先情報の対応関係を記載しておき、ここから接続先情報を得る。 |
| ディレクトリネーミング(LDAP) | LDAP準拠のディレクトリサーバーに接続識別子と接続先情報の対応関係を記載しておき、ここから接続先情報を得る。 |
| 外部ネーミング(NIS) | 外部のネーミングサービスに接続識別子と接続先情報の対応関係を記載しておき、ここから接続先情報を得る。 |
以上、本記事ではOracleデータベースのリモート接続方法について、簡単に紹介しました。
参考文献…オラクルマスター教科書 Silver DBA Oracle Database Administration I 第4章









