2.2 データベース・サービスの理解
Oracle Databaseは、クライアントに対してはサービスとして表示されます。データベースには、1つ以上のサービスを対応付けることができます。
次の図では、それぞれが固有のクライアント向けデータベース・サービスを提供する、2つのデータベースを示します。一方のサービスsales.us.example.com
では、販売担当者が販売データベースにアクセスできます。もう一方のサービスfinance.us.example.com
では、財務アナリストが財務データベースにアクセスできます。
販売データベースと財務データベースは、サービス名、sales.us.example.com
およびfinance.us.example.com
によってそれぞれ識別されます。サービス名はデータベースの論理表現です。インスタンスを起動すると、インスタンスはそれ自体を1つ以上のサービス名を使用してリスナーに登録します。クライアント・プログラムまたはデータベースがリスナーに接続すると、これらはサービスへの接続を要求します。
サービス名は複数のデータベース・インスタンスを識別することができ、インスタンスは複数のサービスに属することができます。このため、リスナーはクライアントとインスタンスとの間の仲介役を果し、接続要求を適切なインスタンスに渡します。サービスに接続するクライアントは、必要なインスタンスを指定する必要がありません。
サービス名は、サーバー・パラメータ・ファイルのSERVICE_NAMES初期化パラメータで指定します。サーバー・パラメータ・ファイルを使用すると、ALTER SYSTEM
コマンドを使用して初期化パラメータを変更でき、変更内容は停止して起動した後も維持されます。DBMS_SERVICEパッケージを使用して、サービスを作成することもできます。サービス名のデフォルトはグローバル・データベース名で、データベース名(DB_NAME初期化パラメータ )およびドメイン名(DB_DOMAIN初期化パラメータ)から構成されています。sales.us.example.com
の場合、データベース名はsales
で、ドメイン名はus.example.com
です。
ノート:
Oracle Database 19c以降、SERVICE_NAMES
パラメータをお客様が使用することは非推奨になりました。サービスを管理するには、SRVCTL
またはGDSCTL
コマンドライン・ユーティリティ、またはDBMS_SERVICE
パッケージを使用することをお薦めします。
次の図では、1つのデータベースに関連付けられた複数のサービスに接続するクライアントを示します。
1つのデータベースに複数サービスを対応付けると、次のような機能が得られます。
-
単一のデータベースを、異なる方法であらゆるクライアントが識別できます。
-
データベース管理者は、システム・リソースを制限したり、確保できます。このレベルの制御では、これらのサービスの1つを要求するクライアントに、より適切にリソースを割り当てることが可能です。
関連項目:
-
初期化パラメータの詳細は、『Oracle Database管理者ガイド』を参照してください。
-
ALTER SYSTEM
文の詳細は、『Oracle Database SQLリファレンス』を参照してください。 -
SERVICE_NAMESパラメータの詳細は、『Oracle Databaseリファレンス』
を参照してください。
-
DBMS_SERVICE
パッケージに関するその他の情報は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。
親トピック: データベースの識別とアクセス