レポ
クラウドで
伸びる人沈む人

連絡特定商取引将来設計運営方針&メルマガSEの彼女は?
成功レポート集 Fedora9インストール! EclipseでJava Oracleバックアップのアーキテクチャ ゼロからHPでCGI 便利ネット知識
無料レポ&講習 IT業界の実態 linux処方箋 Java処方箋 Oracle処方箋 Perl処方箋
データベース名、インスタンス、サービス名の簡単な話

<IT技術の処方箋:データベース名、インスタンス、サービス名の簡単な話>



Oracleには「データベース」と「インスタンス」という概念があります。
「データベースのID」をdb_name、
「インスタンスのID」をSID
として(インストール時に)Oracleには登録されています。


一つのマシンに一つの独立したデータを扱う場合は、
db_name=SIDとしたほうがいいです。
関係は1:1ですし、ややこしくありません。


しかしながら、
一つのマシンに複数の独立したデータを扱う場合、
(ややこしいのでこんな運用はなるべくしない方がいいのですが)
その場合は一つのデータベースの中に複数のインスタンスを作ります。
関係は1:Nです。


そのようなややこしいインスタンスに外部から接続するためには、
サービス名というものを使います。
サービス名とは、インスタンス名とドメイン名を合体させたものです。


例えば
INSTANCE_NAME=db
DOMAIN_NAME=searchman.info
SERVICE_NAME=db.searchman.info

このサービス名は、tnsnames.ora に書きます。
net_service_name =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = db.searchman.info)
)
)


net_service_nameは、
SERVICE_NAME に繋ぐためのSQL*Net上での名前です。

もしホスト側のサービス名やインスタンス名がわからない場合は、
ホスト側で以下のコマンドを打ちましょう。

$ lsnrctl services
慣れてきましたか?慣れてきたら、
Oracleバックアップの「嘘」も勉強

クラウドで伸びる人沈む人 ||Copyright © 2005-2020 SearchMan,All Rights Reserved.