「サービス」とは何か?【Oracle Database】
Sal
sql クライアントがデータベースサーバー上のデータベースに接続する際に指定するのはデータベースの「サービス名」である

「サービス」とは何か?【Oracle Database】

  1. サービスとは
  2. 接続記述子
  3. ネーミングメソッド
  4. ローカル・ネーミング米
  5. ディレクトリネーミング
  6. 簡易接続ネーミング米
  7. 外部ネーミング
  8. ローカル・ネーミングの構成
  9. 簡易接続ネーミングの構成
## サービスとは
クライアントがデータベースサーバー上のデータベースに接続する際に指定するのはデータベースの「サービス名」である データベースのサービス名は

答え

SERVICE_NAMES

初期化パラメータに指定されている この初期化パラメータのデフォルトはうあtっっっっっf:

答え

グローバルデータベース名

通常はグローバルデータベース名をサービス名として指定する。 グローバールデータベース名は以下の要素で構成される

データベース名(DB_NAME) + ドメイン名(DB_DOMAIN)
一つのデータベースには複数のサービス名を対応づけれる これは処理を明確に区別できるようにするためである。 (銀行の窓口まで連れて行ってくれるのがリスナー。貯金という窓口に対応するのがサービス) - oracle.edifist.com - sales.efist.com - finance.edifist.com
## 接続記述子
クライアントはデータベースの場所とサービス名を指定してデータベースに接続する この情報を

答え

接続記述子

と呼ぶ また、これらの情報をまとめた時の名前を

答え

ネットサービス名

と呼ぶ

例)

proj1-svサーバーにある
1521でリスニングしているリスナーに接続し、
sales.edifist.comデータベースサービスへ接続するための記述子

答え


(DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=proj1-sv)(PORT=1521))
    (CONNECT_DATA=(SERVICE_NAME=sales.edifist.com))
)
クライアントのSQL`Plusからhrユーザーで接続したい場合は「@」以降に接続指定しを記述する

SQL> connect hr@(DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=proj1-sv)(PORT=1521))
    (CONNECT_DATA=(SERVICE_NAME=sales.edifist.com))
)
- ネットサービス名 testがサービス名の時、

答え


test = (DESCRIPTION=
        (ADDRESS=(PROTOCOL=tcp)(HOST=proj1-sv)(PORT=1521))
        (CONNECT_DATA=(SERVICE_NAME=sales.edifist.com))
    )
のように記述する
## ネーミングメソッド
ネーミングメソッドとは、ネットサービス名を接続記述子に変換する方法である。 接続文字列にネットサービス名が使用されると、その文字列は

答え

情報リポジトリ

に保存されている情報を元に名前解決される。 Oracle Netでは次のネーミングメソッドがサポートされている
## ローカル・ネーミング米

実態

クライアントに保存されているtnsnames.oraファイル

ネットサービス名とマッピングされる接続記述子クライアントのコンピューターのローカルにファイルとして保存する
## ディレクトリネーミング
LDAP準拠のディレクトリサーバー ネットサービス名とマッピングされる接続記述子をLDAP準拠のサーバーに格納し集中管理する
## 簡易接続ネーミング米
保存場所なはい

実態

TCP/IP接続文字列をどこかに入力するのではなく。 接続時に直接入力して接続する

## 外部ネーミング
Oracle以外のネーミング サポートされているOracle以外のネーミングサービス名を格納する
## ローカル・ネーミングの構成
ネットサービス名とそれにマッピングする接続記述子を クライアントコンピュータに「tnsnamesora」ファイルとして保存。 保存場所は #ORACLE_HOME/network/adminディレクトリ配下のtnsnames.oraファイルに登録される
## 簡易接続ネーミングの構成
title:「サービス」とは何か?【Oracle Database】 description:クライアントがデータベースサーバー上のデータベースに接続する際に指定するのはデータベースの「サービス名」である category_script:page_name.startswith("6")

答え