ORACLEの名前一覧
データベースとインスタンス
-
データベース(グローバルデータベース名称)
-
インスタンス識別子(SID)≠インスタンス名
インスタンス識別子はホスト内でのみ有効(ホスト内で単独で唯一となる)
インスタンス名=クラスタなどの設定時に共有となる。(単独で単一とならない)
※ただし、デフォルトではインスタンス識別子=インスタンス名
ORACLE_HOME
oracleソフトウェアのインストール先のこと
listener.ora
$ORACLE_HOME/network/admin/listener.ora
サーバ側に置くファイル
tnsnames.ora
ローカルネーミングパラメータ
クライアント側に置くファイル
$ORACLE_HOME\network\admin\tnsnames.ora.
→「接続識別子」+「接続記述子」で構成されている
「接続識別子」=接続する際に使用する名称(ネットサービス名称)
「接続記述子」=接続する際にどのような方式でどこに接続するのかを記載している
アドレス、ポート、通信形式、接続モードが記載されている。
サービス名の指定もあり、これはインスタンスの集合体を指す。
※インスタンスはDBに対して1対nの関係なので同じサービスを提供する
名称としてサービス名称がある。
下記載の内容だと、サービス名称=接続識別子
ORCLPDB1=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLPDB1)
)
)
sqlplusでの接続名称
接続方法は2つ
- tnsnqmes.oraを使用する場合
sqlplus username/pass@net_service_name
- 直接接続する場合
sqlplus username/pass@ip:port/servicename
参考
http://itsoldier0901.hatenablog.com/entry/2016/12/13/012804
https://www.sql-dbtips.com/tns/tnsnames/
https://qiita.com/tpusuke/items/7af097580f239ba28b9d