クラウドで 伸びる人沈む人 |
|
|
|
データベース名、インスタンス、サービス名の簡単な話
<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バックアップの「嘘」も勉強 |