Oracle SID、インスタンス、接続識別子など

Oracle ではSID、インスタンス名、接続識別子など様々な名前が出てきます。これらの名前を整理してみました。


スポンサード リンク

名前 説明 初期値 確認方法 (11g R2 Windowsの場合) 使用例
システム識別子(SID) ホスト内でインスタンスにアクセスするための識別子 データベース作成時にデータベースと同じ名前が設定される ・環境変数のORACLE_SIDを確認
インスタンス名(INSTANCE_NAME) ホスト外よりネットワーク経由でインスタンスにアクセスするための名前 データベース作成時にデータベースと同じ名前が設定される SQL> select instance_name from v$instance;
データベース名(DB_NAME) データベースの名前 データベース作成時のパラメータで指定 ・show parameter db_name
サービス名 主に一つのインスタンスを指す。外部から接続させる名前(インスタンス名とドメイン名を合わせた名前) tnsnames.ora の「SERVICE_NAME」で記載。 ・show parameter service_name
ドメイン名 ネットワーク全体でサービス名を識別させるための名前
(サービス名がネットワーク内で重複しても識別できる)
設定しなくても良い
データベース作成時のパラメータで指定 ・show parameters db_domain
接続識別子,TNS サービス名 クライアント側のtnsnames.oraで定義される。ホスト名(あるいはIPアドレス)、プロトコル、ポート、サービス名などで構成されている。SQLPLUS などで使用。
tnsnames.ora 内で定義 SQL> connect <ユーザ名>/<パスワード>@<接続識別子>

(*1)インスタンス とはメモリ構成のこと。
・インスタンスは一つのデータベースにマウントが可能
・2つのデータベースを同じインスタンスに同時にマウントすることはできません。

(*2)tnsnames.ora クライアント側に配置するサーバ接続用の定義ファイル

コマンド例 説明
インスタンスに接続する(リスナー経由) connect <ユーザ名>/<パスワード>@<接続識別子> 接続識別子はtnsnames.ora(クライアント側)で定義されている。ホスト外からのアクセスのため、システム識別子によるアクセスは不可。
ローカルのインスタンスに接続する(結果としてリスナーを経由しない) connect / as sysdba システム識別子に従い接続する。(システム識別子はWindowsの場合はORACLE_SIDあるいはれレジストリで設定)
システム識別子はホスト内でのインスタンスアクセスに使用する。


スポンサード リンク

[Oracle メモに戻る]