この項の内容は、次のとおりです。
データベース・サービス(サービス)は、Oracle Databaseでワークロードを管理するための論理的な抽象概念です。サービスは、ワークロードを互いに共通の要素を持たないグループに分割します。各サービスは、一般的な属性、サービス・レベルしきい値および優先度でワークロードを表します。グループ化は作業の属性に基づいて行われますが、これらの属性には、使用するアプリケーション機能、アプリケーション機能を実行する場合の優先度、管理の対象となるジョブ・クラス、アプリケーション機能またはジョブ・クラスで使用するデータの範囲などが含まれていることがあります。たとえば、Oracle E-Business Suiteでは、総勘定元帳、売掛金勘定、受注など、職務ごとにサービスを定義します。データベース・サービスを構成するとき、一意のグローバル名、関連するパフォーマンス目標および関連する重要性を各サービスに指定します。これらのサービスは、Oracle Databaseと緊密に統合され、データ・ディクショナリに保持されます。
接続要求には、データベース・サービス名を指定できます。このように、中間層アプリケーションおよびクライアントとサーバーのアプリケーションでは、サービスをTNS接続データ内の接続の一部として指定することで、サービスを利用します。サービス名が指定されておらず、Net Servicesファイルlistener.oraにデフォルト・サービスが指定されている場合は、デフォルト・サービスを使用して接続されます。
サービスを使用すると、ワークロードの構成、管理、有効化と無効化を実行でき、さらに単一エンティティとして測定できます。これらの作業は、Database Configuration Assistant(DBCA)、Net Configuration Assistant(NetCA)およびOracle Enterprise Managerなどの標準的なツールを使用して実行できます。Enterprise Managerは、表示と操作に関するサービスを全体としてサポートし、必要な場合はインスタンス・レベルへのドリルダウンをサポートしています。
Oracle Real Application Clusters(Oracle RAC)環境では、サービスは1つ以上のインスタンスにまたがり、トランザクション・パフォーマンスに基づいたワークロードの均衡化に役立ちます。これによって、エンドツーエンドの無人リカバリ、ワークロードによるロール変更、位置の完全な透過性が可能となります。また、Oracle RACを使用すると、Enterprise Manager、DBCAおよびServer Control Utility(SRVCTL)で複数のサービス機能を管理できます。
サービスは、パフォーマンス・チューニングに追加のディメンションも提供します。すべてのセッションを匿名で共有している大部分のシステムでは、「サービスとSQL」によるチューニングで「セッションとSQL」によるチューニングを置換できます。サービスを使用することで、ワークロードが表示可能および測定可能となります。リソースの使用と待機は、アプリケーションがその起因となっています。また、サービスに割り当てたリソースは、ロードの増減にあわせて調整できます。この動的なリソース割当てによって、要求の発生に対応した費用効率の高いソリューションが可能となります。たとえば、サービスを自動的に測定し、そのパフォーマンスをサービス・レベルのしきい値と比較できます。パフォーマンス違反はEnterprise Managerにレポートされるため、自動ソリューションまたはスケジュールされたソリューションを実行できます。
Oracle Database機能のいくつかは、サービスをサポートしています。自動ワークロード・リポジトリ(AWR)は、サービスのパフォーマンスを管理します。AWRには、実行時間、待機クラスおよびサービスで使用されたリソースも含めて、サービスのパフォーマンスが記録されます。AWRは、サービス応答時間がしきい値を超えた場合、警告をアラートします。動的なビューには、現在のサービス・パフォーマンスのメトリックが時間の履歴単位でレポートされます。各サービスには、応答時間とCPU使用に関するサービス品質のしきい値があります。
さらに、データベース・リソース・マネージャでは、サービスをコンシューマ・グループにマッピングできます。これによって、サービスの優先度を他のサービスと関連させて自動的に管理できます。コンシューマ・グループを使用すると、比率またはリソース使用量の観点から相対的な優先順序を定義できます。詳細は、第27章「Oracle Database Resource Managerを使用したリソースの管理」および具体的には「コンシューマ・グループへのセッションのマッピング・ルールの指定」を参照してください。
また、サービスのエディション属性を指定することもできます。エディションを使用すると、データベース内に同じオブジェクトの複数のバージョンを保持できます。あるサービスにエディション属性を指定すると、そのサービスを指定する後続のすべての接続が、このエディションを初期セッション・エディションとして使用します。詳細は、「データベース・サービスのエディション属性の設定」を参照してください。
エディションをサービス属性として指定すると、リソース使用の管理が容易になります。たとえば、1つのエディションに関連付けられた複数のサービスを1つのOracle RAC環境における個別のインスタンスに配置でき、データベース・リソース・マネージャは、リソース・プランを対応するサービスに関連付けることによって、異なるエディションで使用されているリソースを管理できます。
サービスには、アプリケーション、アプリケーション機能およびデータの範囲が、機能サービスまたはデータ依存サービスとして記述されています。機能サービスは最も一般的なワークロードのマッピングです。特定の機能を使用する複数のセッションはまとめてグループ化されます。これに対して、データ依存ルーティングは、データ・キーに基づいてセッションをサービスにルーティングします。作業要求のサービスへのマッピングは、アプリケーション・サーバーとTPモニターのオブジェクト関連マッピング・レイヤーで発生します。たとえば、Oracle RACでは、データベースが共有されているため、これらの範囲は要求に基づいて完全に動的にできます。
また、Oracle RACデータベースには、事前接続のアプリケーション・サービスを定義できます。事前接続のサービスは、複数のインスタンスにまたがって、障害時にサービスをサポートします。この事前接続のサービスは、TAF事前接続モードをサポートし、Oracle RAC使用時には透過的に管理されます。
アプリケーションにより使用されるサービスに加えて、Oracle Databaseでは、2つの内部サービスもサポートされています。SYS$BACKGROUNDはバックグラウンド・プロセスのみで使用され、SYS$USERSはサービスに関連していないユーザー・セッションに対するデフォルトのサービスです。
サービスを使用するために、アプリケーション・コードを変更する必要はありません。クライアント側の作業は、指定したサービスへ接続できます。Oracle Scheduler、パラレル実行、Oracle Streamsアドバンスト・キューイングなどのサーバー側での作業では、ワークロード定義の一部としてサービス名を設定します。サービス下で実行される作業要求は、そのサービスのパフォーマンスしきい値を継承し、サービスの一部として測定されます。
Oracle Schedulerでは、ジョブ・クラスの作成時にオプションでサービスを割り当てることができます。実行中に複数のジョブがジョブ・クラスに割り当てられ、サービス内で複数のジョブ・クラスを実行できます。ジョブ・クラスとともにサービスを使用することで、ジョブ・スケジューラによって実行される作業が、ワークロード管理とパフォーマンス・チューニングに対して示されます。
パラレル問合せとパラレルDMLの場合、問合せコーディネータは他のクライアントと同じようにサービスに接続します。パラレル問合せプロセスは、実行中そのサービスを継承します。問合せが終了した時点で、パラレル実行プロセスはデフォルトのサービスに戻ります。
|
関連項目:
|
データベース・サービスの作成方法はデータベースの構成によっていくつかあります。
データベース・サービスの作成方法は、次のとおりです。
単一インスタンスのデータベースをOracle Restartで管理している場合は、SRVCTLユーティリティを使用してデータベース・サービスを作成します。
srvctl add service -d db_unique_name -s service_name
Oracle Restartで管理していない単一インスタンスのデータベースでは、以下をいずれかを実行します。
SERVICE_NAMESパラメータに希望するサービス名を追加します。
DBMS_SERVICE.CREATE_SERVICEパッケージ・プロシージャをコールします。
(オプション)サービス属性をOracle Enterprise ManagerまたはDBMS_SERVICE.MODIFY_SERVICEで定義します。
|
関連項目:
|
サービス情報は、次のサービス固有のビューで参照できます。
DBA_SERVICES
ALL_SERVICESまたはV$SERVICES
V$ACTIVE_SERVICES
V$SERVICE_STATS
V$SERVICE_EVENT
V$SERVICE_WAIT_CLASSES
V$SERV_MOD_ACT_STATS
V$SERVICE_METRICS
V$SERVICE_METRICS_HISTORY
次の追加ビューにも、サービスに関する情報が表示されます。
V$SESSION
V$ACTIVE_SESSION_HISTORY
DBA_RSRC_GROUP_MAPPINGS
DBA_SCHEDULER_JOB_CLASSES
DBA_THRESHOLDS
|
関連項目: これらのビューの詳細は、『Oracle Databaseリファレンス』を参照してください。 |