クライアント側では、どのリスナーに対して接続要求を送り、サーバー上のどのデータベースに接続するかを設定する。この設定には、接続先に関する以下の情報が必要となる。
- ホスト名
- データベースサービス名(またはOracleシステム識別子、SID)
- プロトコル
- ポート番号
データベースサービス
データベースサービスとは、データベースをクライアントに公開するための概念。データベースに対してサービス名を付ける。クライアントはこのサービス名を指定することにより、サービスに対応したデータベースにアクセスすることができる。
サービス名はSERVICE_NAMES初期化パラメータで指定するが、デフォルトではグローバルデータサービス名が設定されている。グローバルデータベース名とは、データベース名とドメイン名からなる以下の名前である。
データベース名.ドメイン名
ネットサービス名と名前解決
接続記述子は長いため、ネットサービス名と呼ばれる名前を付けて扱いやすくする。ネットサービス名から、接続記述子を対応させることを名前解決と呼ぶ。名前解決の仕組みのことをネーミングメソッドと呼ぶ。ネットサービス名を使用すると、以下のコマンドでデータベースに接続要求を送信できる。
connect ユーザー名/パスワード@ネットサービス名
ネーミングメソッド
Oracle Database 11gでは以下のネーミングメソッドを使用できる。
- ローカルネーミング
各接続記述子にネットサービス名をつけ、その内容をtnsnames.oraファイルに記録し、名前解決する方法である。
このtnsnames.oraファイルはローカル(クライアント)側に配置する。比較的簡単に構成できるが、ネットワークの構成の変更が多い環境ではメンテナンスコストが高くなるため向いていない。
- ディレクトリネーミング
名前解決にディレクトリサーバーを使用する方法である。名前解決情報を1か所に集中させるため、ネットワーク構成の変更に対しても柔軟に対応できる。
- 簡易接続ネーミング
事前のネットワーク構成を必要としない方法である。以下のコマンドを使用して、接続先の情報を直接指定する。
connect ユーザー名/パスワード@ホスト名[:ポート番号][/サービス名]
[]内は省略可能
ポート番号を省略した場合は1521番。サービス名を省略した場合はサービス名が指定されたホスト名と同じであるとみなされる。
この方法を使うには、クライアント/サーバー側がTCP/IPを使用して接続されている必要がある。
- 外部ネーミング
Oracle以外のネーミングサービスを使用して名前解決を行う方法。Network Information Service(NIS)などのネーミングサービスをサポートしている。
sqlnet.oraファイル
接続先の名前解決にどのネーミングメソッドを使用するかはsqlnet.oraファイルで指定する。
ローカルネーミングの詳細
ローカルネーミングでで使用するネットサービス名はEnterPrize Managerの「ネット・サービス名の編集」ページで設定できる。
戻る
最終更新:2014年03月16日 09:21