web-dev-qa-db-ja.com

OracleのSID、DB名、DBドメイン、グローバルデータベース名、サービス名、サービスエイリアス、インスタンス名の違い

OracleのSID、DB名、DBドメイン、グローバルデータベース名、サービス名、サービスエイリアス、インスタンス名の違いは何ですか?

おかげでマイケル

14

SID =データベースインスタンスを識別します(データベース名+インスタンス番号)。したがって、データベース名がsomedbでインスタンス番号が3の場合、SIDはsomedb3です。

DB名=データベースの名前(データベースは複数のインスタンスで共有できます)

DBドメイン=通常、会社のドメイン(somecompany.com)と同じ

グローバルデータベース名=データベース名+データベースドメイン(somedb.somecompany.com)

サービス名= 1つ以上のインスタンスへの「コネクタ」。特定のSIDをプライマリまたはセカンダリ接続として使用するように、または特定のSIDをまったく使用しないようにサービスを変更できるため、RAC環境で追加のサービス名を作成すると便利な場合があります。

Service Alias =サービス名のエイリアス(CNAMEなどと同様)。サービス名をdbaにとって意味のあるものにするとしますが、おそらく少し難解です。サービスエイリアスを作成し、ユーザーにとってわかりやすい名前を付けます。

インスタンス名= SIDと同じ

11
jswoods7

SIDを記述する方法は、RAC構成でのデフォルトの動作のみです。 SID(== instance_name)は次のとおりです。インスタンスの名前。

私はいつも次のように見ています。インスタンスは、RDBMSソフトウェアのインスタンスです。インスタンスは、制御ファイルをマウントします(データベースマウントを変更します)この制御ファイルには、データファイルの場所が書き込まれます。データファイルのコレクション(そう、そして制御ファイル)==データベース。

データベースには、名前、db_name、および(オプションで)ドメイン(db_domain)->一緒にglobal_db_nameがあります。データベースを複製(DataGuard)しているとしましょう。 DB_nameを同じに保ちたいですか? (つまり、データに関してはSAMEデータベースです)では、データベースの2つの「バージョン」を識別する方法は? 「DB_UNIQUE_NAME」と入力してください...はい、混乱しています...

私の個人的な習慣は、DataGuardセットアップではINSTANCEにdb_unique_nameのような名前を付け、RACセットアップではRAC名(db_name + Instance_Number)を使用することです。次に、私が作成するdb_unique_namesは、一般にdb_name + 1文字のサフィックス(MYDBa MYDBbなど)のようになります。

乾杯、ポール

4
paul

SIDはインスタンスです。 「データベースインスタンス」という用語の使用は避けてください。単なるインスタンスです。

「SID =データベースインスタンスを識別(データベース名+インスタンス番号)」は誤りです。 「インスタンスはRDBMSソフトウェアのインスタンスです」は誤りです。アンインストールまたはインストールされたDBMSは単なるDBMSです。

「DBドメイン=通常、会社のドメインと同じ」は避けてください。ドメインの使用中に問題が発生しましたが、ドメインを使用しないと問題が解決します。

「グローバルデータベース名=データベース名+データベースドメイン」も間違っています。グローバルデータベース名はサービス名です。とても簡単です。

"SID =データベースインスタンス(データベース名+インスタンス番号)を識別します。データベース名がsomedbでインスタンス番号が3の場合、SIDはsomedb3です。"間違っている。そのようなアイデンティティや名前の連結はありません。

0
Bernaridho