12 データベース・リソースの管理
EM ExpressのOracle Database Resource Manager (リソース・マネージャ)の機能を使用すると、データベース・リソースを効率的に管理できます。
この章では、リソース・プランの概念および用語をよく理解していることを前提としています。EM Expressを使用してリソース・プランを管理する方法に重点を置きます。
EM Expressを使用すると、非マルチテナント・コンテナ・データベース(非CDB)、CDB、およびプラガブル・データベース(PDB)のリソース・プランを作成および管理できます。
この章の構成は、次のとおりです。
関連項目:
リソース・プランの概念および用語に精通していない場合は、この章を読むことに加えて、次の情報を参照してください。
-
非CDBでのリソース・マネージャの使用の詳細は、『Oracle Database管理者ガイド』
-
CDBおよびPDBでのリソース・マネージャの使用の詳細は、『Oracle Multitenant管理者ガイド』
12.1 リソース管理について
EM Expressの「リソース・マネージャ」の機能を使用すると、システム・リソースやデータベース・リソースを求めて競合するデータベース内の複数のワークロードを管理できます。
非CDB、CDBまたはPDBの場合、EM Expressの「リソース管理」ページで、リソース・マネージャ機能に移動できます。
関連項目:
-
「プランについて」
-
非CDBでのリソース・マネージャの使用の詳細は、『Oracle Database管理者ガイド』
-
CDBおよびPDBでのリソース・マネージャの使用の詳細は、『Oracle Multitenant管理者ガイド』
12.1.1 非CDBのリソース・マネージャ・ソリューションについて
非CDBでは、データベース・リソースの割当てがオペレーティング・システムによって決定される場合は、ワークロードの管理に関する問題が生じることがあります。
たとえば、次の問題があります。
-
過剰なオーバーヘッドの発生:
過剰なオーバーヘッドは、サーバー・プロセスの数が多いときに、Oracle Databaseサーバー・プロセス間でオペレーティング・システムのコンテキストが切り替わることによって発生します。
-
非効率的なスケジューリング
オペレーティング・システムは、データベース・サーバーがラッチを保持している間にデータベース・サーバーのスケジュールを解除しますが、これは非効率的です。
-
不適当なリソースの割当て
オペレーティング・システムはタスク間の優先度付けができないため、すべてのアクティブなプロセスの間で均等にリソースを分配します。
-
パラレル実行サーバーやアクティブ・セッションなど、データベース固有のリソースを管理できない
リソース・マネージャを使用して、ハードウェア・リソースの割当て方法をデータベースで厳密に制御することによって、これらの問題を克服します。複数のコンカレント・ユーザー・セッションがあり、各セッションでは異なる優先度のジョブが実行される環境では、すべてのセッションが同等に処理されるわけではありません。リソース・マネージャを使用すると、セッション属性に基づいてセッションを複数のグループに分類し、それらのグループに対して、アプリケーション環境のハードウェア利用が最適化されるようにリソースを配分できます。
EM Expressのリソース・マネージャ機能を使用して、次の操作を実行できます。
-
処理要件に基づいてユーザー・セッションをリソース・コンシューマ・グループ(コンシューマ・グループ)に集合化するリソース・コンシューマ・グループ(コンシューマ・グループ)を作成します。
-
様々なコンシューマ・グループにCPUの共有を割り当てて、使用可能なCPUを分配するCPUディレクティブを設定します。たとえば、データ・ウェアハウスの場合は、バッチ・ジョブよりもリレーショナル・オンライン分析処理(ROLAP)アプリケーションの共有数を大きくできます。
-
コンシューマ・グループのメンバーが実行する処理の並列度を制限するパラレル・サーバー・ディレクティブを設定します。
-
パラレル・ステートメント・キュー内のパラレル・ステートメントの順序を管理するパラレル・サーバー・ディレクティブを設定します。優先度の低いユーザー・グループからのパラレル・ステートメントよりも前に、重要なアプリケーションからのパラレル・ステートメントをエンキューできます。
-
ユーザー・グループが使用できるパラレル実行サーバーの数を制限するパラレル・サーバー・ディレクティブを設定します。これにより、使用可能なすべてのパラレル実行サーバーが1つのユーザー・グループにのみ割り当てられることを回避できます。
-
ランナウェイ問合せディレクティブを設定して、セッションまたはコールによって使用されるCPU、物理I/O、論理I/Oまたは経過時間が指定量を超過している状況を検出し、セッションまたはコールを自動的に終了するか、リソースの割当てが少ない、あるいはグループが使用できるCPUの割合に制限があるコンシューマ・グループに自動的に切り替えます。論理I/Oは、バッファI/Oとも呼ばれ、バッファ・キャッシュ内でのバッファの読取りおよび書込みを表しています。要求されたバッファがメモリーにない場合、データベースでは物理I/Oを実行してディスクまたはフラッシュ・キャッシュからメモリーにバッファをコピーし、次に論理I/Oを実行して、キャッシュされたバッファを読み取ります。
関連項目:
12.1.2 CDBのリソース・マネージャ・ソリューションについて
リソース・マネージャは、CDBのリソースのより効率的な使用方法を提供できます。
CDBに対するリソースの割当てがオペレーティング・システムによって決定される場合は、次のようなワークロード管理に関する問題が生じることがあります。
-
PDB間の不適当なリソースの割当て
オペレーティング・システムはタスク間の優先度付けができないため、すべてのアクティブなプロセスの間で均等にリソースを分配します。このため、1つ以上のPDBで過大なシステム・リソースが使用され、他のPDBでリソースが不足する場合があります。
-
1つのPDB内における不適当なリソースの割当て
1つのPDBに接続された1つ以上のセッションで過大なシステム・リソースが使用され、同じPDBに接続された他のセッションでリソースが不足する場合があります。
-
PDBの一貫性のないパフォーマンス
他のPDBとの間で競合するシステム・リソースの量が一定でない場合は、1つのPDBのパフォーマンスは必ずしも一定になりません。
-
PDBのリソース使用率データの不足
PDBの監視およびチューニングにおいてはリソース使用率データが重要になります。非CDBのリソース使用率データを収集するときに、この非CDBがシステム上で実行されている唯一のデータベースである場合、オペレーティング・システム・モニタリング・ツールを使用できることがあります。ただし、CDBの場合、システム上で複数のPDBが実行されるため、オペレーティング・システム・モニタリング・ツールの有用性は低くなります。
リソース・マネージャは、PDB間およびPDB内でのハードウェア・リソースの割当て方法をCDBで厳密に制御することによって、これらの問題を克服するのに役立ちます。
複数のPDBを含むCDBでは、通常、一部のPDBの重要度が他のPDBより高くなります。リソース・マネージャを使用すると、特定のPDBのリソース使用率を優先度付けしたり制限できます。
リソース・マネージャを使用すると、次のことが可能になります。
-
PDBごとにシステム・リソースの共有が異なるよう指定して、より多くのリソースが重要度の高いPDBに割り当てられるようにします。
-
特定のPDBのCPU使用率を制限します。
-
特定のPDBで使用できるパラレル実行サーバーの数を制限します。
-
特定のPDBのメモリー使用率を制限します
-
特定のPDBに必要なメモリーの最小量を指定します
-
1つのPDBに接続された様々なセッションのリソース使用率を制限します。
-
特定のPDBによって生成されるI/Oを制限します
-
PDBのリソース使用率を監視します。
関連項目:
12.1.3 コンシューマ・グループについて
リソース・コンシューマ・グループ(コンシューマ・グループ)とは、処理要件に基づいてグループ化されたユーザー・セッションの集合です。セッションが作成されると、そのセッションは、管理者が設定したマッピング・ルールに基づいてコンシューマ・グループに自動的にマップされます。
リソース・マネージャによるリソース(CPUなど)の割当て先はコンシューマ・グループであるため、セッションがコンシューマ・グループのメンバーになると、そのリソース割当てはコンシューマ・グループの割当てによって決定されます。
常にデータ・ディクショナリに存在する特別なコンシューマ・グループがあります。これらのグループは、変更したり削除することはできません。これらを次に示します。
-
SYS_GROUP
これは、ユーザー・アカウント
SYS
またはSYSTEM
によって作成されたすべてのセッションの初期コンシューマ・グループです。この初期コンシューマ・グループは、コンシューマ・グループへのセッションのマッピング・ルールで上書きできます。 -
OTHER_GROUPS
このコンシューマ・グループには、コンシューマ・グループに割り当てられていないすべてのセッションが含まれます。すべてのリソース・プラン(プラン)に
OTHER_GROUPS
へのディレクティブが含まれている必要があります。
アクティブな非CDBプランには28個までのコンシューマ・グループを含めることができ、アクティブなPDBプランには8個までのコンシューマ・グループを含めることができます。
関連項目:
-
コンシューマ・グループの詳細は、『Oracle Database管理者ガイド』を参照してください。
-
「プランについて」
12.1.4 プランについて
リソース・プラン(プラン)は、リソースの割当て方法を指定するプラン・ディレクティブ(ディレクティブ)のコンテナです。
各Oracleデータベースに事前定義されているプランの他に、プランは必要な数だけ作成できます。
非CDB、CDBおよびPDBのプランを作成できます。ただし、特定の非CDB、CDBまたはPDBでは、一度にアクティブにできるプランは1つのみです。プランがアクティブな場合、各ディレクティブはリソース割当てを制御します。
非CDBプランまたはPDBプランでは、ディレクティブは非CDBまたはPDB内のコンシューマ・グループにリソースを割り当てる方法を指定します。
CDBプランでは、ディレクティブはCDB内のPDBにリソースを割り当てる方法を指定します。
関連項目:
12.1.5 ディレクティブについて
リソース・プラン・ディレクティブ(ディレクティブ)では、リソースの割当て方法を指定します。
非CDBプランまたはPDBプラン内のディレクティブは、コンシューマ・グループをプランに関連付け、そのコンシューマ・グループにリソースを割り当てる方法を指定します。リソースは、プランに属するディレクティブのセットに従ってコンシューマ・グループに割り当てられます。プランとそのディレクティブは親子関係にあります。各ディレクティブは1つのコンシューマ・グループを参照し、プランの2つのディレクティブで同じコンシューマ・グループを参照することはできません。
非CDBプランまたはPDBプラン内のディレクティブには、コンシューマ・グループへのリソース割当てを制限できる方法がいくつかあります。たとえば、CPU全体の割合として、コンシューマ・グループで確保できるCPUの量を制御できます。
リソースは、非CDBプランまたはPDBプラン内のディレクティブのセットに従ってコンシューマ・グループに割り当てられます。プランとそのディレクティブは親子関係にあります。各ディレクティブは1つのコンシューマ・グループを参照し、同じプランの2つのディレクティブが同じコンシューマ・グループを参照することはできません。
CDBプランのディレクティブで、CDB内のPDBにリソースを割り当てる方法を指定します。CDBプランでは、CDB内のPDBの一部またはすべてに対してディレクティブを明示的に定義すること、またはいずれに対してもディレクティブを定義しないことができます。各CDBプランには、PDBのデフォルト・ディレクティブもあります。CDBプランがアクティブなプランの場合、デフォルト・ディレクティブは、ディレクトリが明示的に定義されていないPDBに使用されます。
次の表に、異なるタイプのプランのディレクティブがリソースをどのように割り当てるかをまとめます。
プラン・タイプ | ディレクティブによるリソースの割当て先 |
---|---|
非CDBプラン |
コンシューマ・グループ |
CDBプラン |
PDB |
PDBプラン |
コンシューマ・グループ |
関連項目:
12.1.6 非CDBプランについて
非CDBプランには、非CDB内のコンシューマ・グループにリソースを割り当てる方法を指定するディレクティブが含まれます。
非CDBプランには、OTHER_GROUPS
というコンシューマ・グループにリソースを割り当てるディレクティブが必要です。OTHER_GROUPS
は、プラン内の他のどのコンシューマ・グループへのマッピングも持たないすべてのセッションに適用されます。
システム内のサービス、ユーザーおよびプログラム数が8以下の場合は、EM Expressのクイック・セットアップ機能を使用して、新しい非CDBプランを作成できます。
システム内のサービス、ユーザーおよびプログラム数が9以上の場合は、空のプランを作成し、プランにディレクティブを追加します。
関連項目:
12.1.7 CDBおよびPDBワークロードの管理について
CDBでは、EM Expressのリソース・マネージャ機能を使用して、システム・リソースおよびCDBリソースを巡って競合関係にある複数のPDB内の複数のワークロードを管理できます。
CDBでは、次の2つの基本レベルでリソースを管理できます。
-
CDBレベル: システム・リソースおよびCDBリソースを巡って競合関係にある複数のPDBワークロードを管理できます。PDBへのリソースの割当て方法を指定し、特定のPDBのリソース使用率を制限できます。
-
PDBレベル: 各PDB内のワークロードを管理できます。
リソース・マネージャにより、次の2つのステップでリソースを割り当てます。
-
システム・リソースの一部を各PDBに割り当てます。
-
特定のPDBでは、ステップ1で割り当てられたシステム・リソースの一部をPDBに接続された各セッションに割り当てます。
注意:
ルートのすべてのアクティビティは、リソース・マネージャによって自動的に管理されます。
関連項目:
12.1.7.1 CDBプランについて
CDBでは、PDBの優先度のレベルが異なる場合があります。CDBプランを作成し、これらの優先度に従ってCDB内のPDBごとにリソースを分配できます。
CDBプランのディレクティブのセットで、CDB内のPDBにリソースを割り当てる方法を指定します。
CDBプランとそのディレクティブは親子関係にあります。
各ディレクティブは単一のPDBを参照します。
次のリソースのPDBへの割当ては、ディレクティブによって制御されます。
-
CPU
-
パラレル実行サーバー
-
メモリー
ディレクティブにより、PDBごとに指定する共有値に基づいてPDBへのリソースの割当てを制御できます。共有値が高いほど、リソースは増加します。たとえば、あるPDBに、もう1つのPDBに割り当てられた2倍のリソースを割り当てることを指定でき、このことを行うには、最初のPDBに2番目のPDBの2倍高い共有値を設定します。
PDBの使用率制限も指定できます。使用率制限は、PDBへのリソース割当てを制限します。たとえば、これにより、CDBに使用可能なCPU全体の割合として、PDBで確保できるCPUの量を制御できます。
CDB内の各PDBに割り当てるリソースを正確に制御するために、共有と使用率制限の両方を一緒に使用できます。
注意:
CDBリソース・プランではparallel_server_limit
ディレクティブを使用しないことをお薦めします。
12.1.7.1.1 PDBへのリソース割当ての共有について
PDB間でリソースを割り当てるには、CDBプラン内のPDBごとに共有値を割り当てます。共有値が高いほど、PDBの保証されるリソースは多くなります。
たとえば、CDBに3つのPDBが含まれている場合は、図12-1に示すように、1つのCDBプランで3つのPDBのそれぞれに共有値を指定できます。
この例では、割り当てられる共有の総数は7 (3+3+1)です。PDB salespdbおよびservicespdbは、それぞれリソースの3/7を保証されていますが、PDB hrpdbはりソースの1/7を保証されています。ただし、リソースの競合がない場合には、いずれのPDBでも保証された量より多くのリソースを使用できます。
PDBのワークロードがすべてのシステム・リソースを消費する場合、次のようになります。
-
PDB salespdbおよびservicespdbでは、同じ量のCPUリソースを使用できます。PDB salespdbおよびservicespdbは、それぞれPDB hrpdbの3倍のCPUリソースを保証されています。
-
PDB salespdbおよびservicespdbからキューされているパラレル問合せは、同等に選択されます。PDB salespdbおよびservicespdbからキューされているパラレル問合せは、PDB hrpdbからキューされているパラレル問合せの3倍の頻度で選択されます。
-
PDB salespdbおよびservicespdbでは、同じ量のメモリー・リソースを使用できます。PDB salespdbおよびservicespdbは、それぞれPDB hrpdbの3倍のメモリー・リソースを保証されています。
関連項目:
-
「プランについて」
12.1.7.1.2 PDBの使用率制限について
使用率制限により、特定のPDBのシステム・リソース使用率が抑制されます。CPU、パラレル実行サーバーおよびメモリーの使用率制限を指定できます。
表12-1では、PDBの使用率制限と、PDBが使用率制限に達した場合に実行される処理について説明します。
表12-1 PDBの使用率制限
リソース | リソース使用率制限 | リソース・マネージャの処理 |
---|---|---|
CPU |
PDBに接続されたセッションで、PDBのCPU使用率制限に達しました。CPUに対するこの使用率制限は、 |
PDBのCPU使用率が使用率制限を超えないように、リソース・マネージャによってPDBセッションが制限されます。 |
パラレル実行サーバー |
PDBで、 たとえば、 |
PDBで使用されているパラレル実行サーバーの数が、 |
メモリー |
PDBに接続されたセッションで、PDBのメモリー制限に達しました。 メモリーに対するこの使用率制限は、 |
あるPDBの使用率が共有プールの制限を超えた場合、リソース・マネージャは、他のPDBのキャッシュされたオブジェクトの方が長くキャッシュにあった場合でも、そのオブジェクトよりも前に、該当するPDBでの使用頻度が最も低いオブジェクトを解放します。 PDBの使用率がPGAの制限を超えた場合、リソース・マネージャは問合せまたはPL/SQLファンクションを中断するか、制限を超えていないPDBを含む任意のPDBに関連付けられたセッションを中断できます。 |
CDBプランでは、図12-2に示すように、3つのPDBに共有および使用率制限を指定できます。
図12-2は、PDBのsalespdbとservicespdbについてcpu_utilization_limit (%)
およびparallel_server_limit (%)
ディレクティブが両方とも100に設定されていることから、これらのPDBに対する使用率制限がないことを示しています。ただし、PDB hrpdbは、cpu_utilization_limit (%)
およびparallel_server_limit (%)
ディレクティブが両方とも70に設定されていることから、適用可能なシステム・リソースの70%に制限されています。
注意:
CDBリソース・プランではparallel_server_limit
ディレクティブを使用しないことをお薦めします。
関連項目:
-
「プランについて」
12.1.7.1.3 PDBのデフォルト・ディレクティブについて
CDBプランでPDBのディレクティブを明示的に定義していない場合、そのPDBのリソースはCDBプランのデフォルト・ディレクティブを使用して割り当てられます。
表12-2に、PDB用の初期デフォルト・ディレクティブの属性を示します。
表12-2 PDB用の初期デフォルト・ディレクティブ属性
ディレクティブ属性 | 値 |
---|---|
shares |
1 |
cpu_utilization_limit (%) |
100 |
parallel_server_limit (%) |
100 |
memory_minimum (%) |
0 |
memory_limit (%) |
100 |
PDBがCDBに追加されたときに、ディレクティブが定義されていないと、PDBはPDBのデフォルト・ディレクティブを使用します。
新しいPDBにはディレクティブを定義できます。
PDBがCDBから切断された場合、PDBのディレクティブは保持されます。同じPDBがCDBに再接続される場合、そのPDB用に定義されたディレクティブが手動で削除されていないと、PDBではこのディレクティブが使用されます。
図12-3に示す例では、PDBのsalespdb、servicespdb、およびhrpdbに専用のディレクティブが定義されています。その一方で、PDBのmarketingpdbとtestingpdbには専用のディレクティブが定義されていないため、デフォルトのPDBディレクティブが使用されます。
図12-3に、デフォルトPDBディレクティブを示します。このディレクティブでは、shareに1、cpu_utilization_limitに100%、parallel_server_limitに100%、memory_limitに100%を指定しています。
また、図12-3は、PDBのmarketingpdbとtestingpdbがデフォルトPDBディレクティブを使用することも示しています。つまり、marketingpdbとtestingpdbは、それぞれshareが1に、3つの使用率制限が100%に設定されるということです。
「CDBプランのデフォルトPDBディレクティブの変更」で説明するように、デフォルトPDBディレクティブの属性値は変更することもできます。デフォルトPDBディレクティブの変更後にCDBに追加されたPDBは、そのPDBにPDBディレクティブを定義するまでは、デフォルトPDBディレクティブの新しい属性値を使用するようになります。
注意:
CDBリソース・プランではparallel_server_limit
ディレクティブを使用しないことをお薦めします。
関連項目:
12.1.7.2 PDBプランについて
CDBプランにより、PDBごとに割り当てられるリソース量が決定されます。PDBプランでは、特定のPDBに割り当てられるリソースをそのPDB内のコンシューマ・グループにどのように割り当てるかを決定します。
PDBプランは、非CDBのプランと似ています。非CDBのプランが非CDBのコンシューマ・グループ間にリソースを割り当てるのと同じ方法で、PDBプランはPDB内のコンシューマ・グループ間にリソースを割り当てます。
PDBプランには、OTHER_GROUPS
というコンシューマ・グループにリソースを割り当てるディレクティブが必要です。OTHER_GROUPS
は、プラン内の他のどのコンシューマ・グループへのマッピングも持たないすべてのセッションに適用されます。
1つ以上のPDBプランを作成する場合、PDBのCDBのCDBプランが特定の要件を満たしている必要があります。表12-3では、CDBプランの要件と、要件が満たされない場合の結果について説明しています。
1つ以上のPDBプランを作成するときにCDBプランがない場合、CDBでは、Oracle Databaseに付属のDEFAULT_CDB_PLAN
が使用されます。
表12-3 PDBプランのためのCDBプラン要件
リソース | CDBプラン要件 | 要件が満たされない場合の結果 |
---|---|---|
CPU |
次の要件のいずれかが満たされている必要があります。
これらの値は、特定のPDBのディレクティブまたはデフォルト・ディレクティブに設定できます。 |
PDBプランのCPU割当てポリシーは規定されません。 PDBプランの |
パラレル実行サーバー |
次の要件のいずれかが満たされている必要があります。
これらの値は、特定のPDBのディレクティブまたはデフォルト・ディレクティブに設定できます。 |
PDBプランのパラレル実行サーバー割当てポリシーは、規定されません。 PDBプランで |
メモリー |
次の要件のいずれかが満たされている必要があります。
これらの値は、特定のPDBのディレクティブまたはデフォルト・ディレクティブに設定できます。 |
PDBプランのメモリー割当てポリシーは規定されません。 PDBプランの |
図12-4に、CDBプランおよびPDBプランの例を示します。
注意:
CDBリソース・プランではparallel_server_limit
ディレクティブを使用しないことをお薦めします。
システム内のサービス数、ユーザー数、またはプログラム数が8つ未満の場合は、EM Expressの「クイック・セットアップ」機能を使用して、新しいPDBプランを作成できます。
システム内のサービス数、ユーザー数、またはプログラム数が8つ以上ある場合は、空のプランを作成して、そのプランにディレクティブを追加してください。
12.1.8 「リソース管理」ページへのアクセス
EM Expressの「リソース管理」ページから、EM Expressで使用可能なリソース管理機能に移動できます。
「リソース管理」ページの内容は、データベースのタイプ(非CDB、CDB、またはPDB)と、そのデータベースのプランがアクティブかどうかに応じて決まります。詳細は、次の表を参照してください。
-
表12-4に、アクティブなプランがない非CDBに対する「リソース管理」ページの内容を示します。
-
表12-5に、プランがアクティブな非CDBに対する「リソース管理」ページの内容を示します。
-
表12-6に、アクティブなプランがないCDBのルートに対する「リソース管理」ページの内容を示します。
-
表12-7に、プランがアクティブなCDBのルートに対する「リソース管理」ページの内容を示します。
-
表12-8に、アクティブなプランがないPDBに対する「リソース管理」ページの内容を示します。
-
表12-9に、プランがアクティブなPDBに対する「リソース管理」ページの内容を示します。
注意:
「リソース管理」ページの「リソース・マネージャ」ダッシュボードのグラフに示されるデータは、自動ワークロード・リポジトリ(AWR)から取得されます。AWRデータが収集されていないときに「リソース管理」ページにアクセスすると、グラフにはデータが表示されずに、「使用可能なAWRデータがありません」という情報メッセージが表示されます。
デフォルトでは、1時間間隔でAWRデータが収集されます。そのため、このデータはデータベースの初回起動時から1時間後に利用可能になります。
表12-4に、アクティブなプランがない非CDBに対する「リソース管理」ページの内容を示します。
表12-4 アクティブなプランがない非CDBの「リソース管理」ページ
項目 | 説明 |
---|---|
「一般」セクション |
データベースに関する一般情報が表示されます。 |
「ホストCPU」グラフ |
このグラフには、データベース・インスタンスと、その他のホスト・プロセスによって、このホストで使用されているCPUの量が示されます。Oracle RACデータベースの場合、このグラフには、すべてのデータベース・インスタンスで使用されている累積のCPUが示されます。 このグラフは、インスタンス・ケージングの制限を設定する際のガイダンスとして使用します。Oracle RACデータベースの場合、インスタンス・ケージングはすべてのインスタンスに対して有効化することもできます。 |
「サービス別のCPUアクティビティ」グラフ |
このグラフには、データベース・インスタンスと、その他のホスト・プロセスによって、このホストで使用されているCPUの量が示されます。Oracle RACデータベースの場合、このグラフには、すべてのデータベース・インスタンスで使用されている累積のCPUが示されます。 このグラフは、インスタンス・ケージングの制限を設定する際のガイダンスとして使用します。Oracle RACデータベースの場合、インスタンス・ケージングはすべてのインスタンスに対して有効化することもできます。 |
「SQL実行統計」グラフ |
このグラフには、データベース・インスタンスと、その他のホスト・プロセスによって、このホストで使用されているCPUの量が示されます。Oracle RACデータベースの場合、このグラフには、すべてのデータベース・インスタンスで使用されている累積のCPUが示されます。 このグラフは、インスタンス・ケージングの制限を設定する際のガイダンスとして使用します。Oracle RACデータベースの場合、インスタンス・ケージングはすべてのインスタンスに対して有効化することもできます。 |
「パラレルまたはシリアルのアクティブ・セッション」グラフ |
このグラフには、データベース・インスタンスと、その他のホスト・プロセスによって、このホストで使用されているCPUの量が示されます。Oracle RACデータベースの場合、このグラフには、すべてのデータベース・インスタンスで使用されている累積のCPUが示されます。 このグラフは、インスタンス・ケージングの制限を設定する際のガイダンスとして使用します。Oracle RACデータベースの場合、インスタンス・ケージングはすべてのインスタンスに対して有効化することもできます。 |
「ダウングレードされたパラレル操作」グラフ |
このグラフには、データベース・インスタンスと、その他のホスト・プロセスによって、このホストで使用されているCPUの量が示されます。Oracle RACデータベースの場合、このグラフには、すべてのデータベース・インスタンスで使用されている累積のCPUが示されます。 このグラフは、インスタンス・ケージングの制限を設定する際のガイダンスとして使用します。Oracle RACデータベースの場合、インスタンス・ケージングはすべてのインスタンスに対して有効化することもできます。 |
表12-5に、プランがアクティブな非CDBに対する「リソース管理」ページの内容を示します。
表12-5 プランがアクティブな非CDBの「リソース管理」ページ
項目 | 説明 |
---|---|
「一般」セクション |
データベースとリソース・プランに関する一般情報が表示されます。 |
「ホストCPU」グラフ |
このグラフには、データベース・インスタンスと、その他のホスト・プロセスによって、このホストで使用されているCPUの量が示されます。Oracle RACデータベースの場合、このグラフには、すべてのデータベース・インスタンスで使用されている累積のCPUが示されます。 このグラフは、インスタンス・ケージングの制限を設定する際のガイダンスとして使用します。Oracle RACデータベースの場合、インスタンス・ケージングはすべてのインスタンスに対して有効化することもできます。 |
「CPU使用率」グラフ |
このグラフは、現在アクティブなリソース・マネージャ計画で上位のコンシューマ・グループが使用しているCPUの量を示します。 このグラフは、コンシューマ・グループに対するCPUリソースの制限が効果的であるかどうかを判断する際に使用します。 |
「待機中セッション」グラフ |
このグラフは、現在アクティブなリソース・マネージャ計画で上位コンシューマ・グループが待機しているセッションの数を示します。 このグラフは、コンシューマ・グループに設定したリソースの制限が適切かどうかを判断する場合や、リソースの制限によってセッションが待機状態になっているかどうかを判断する場合に使用します。 |
「SQL実行」リージョン |
このリージョンには、次の2つのグラフが示されます。
|
「並列実行」リージョン |
上位コンシューマ・グループについて、2つのグラフにパラレル・サーバーの数と、データベース・リソース・マネージャによってキューされたパラレルSQL文の数が示されます。 これらのグラフは、リソース・マネージャ計画のパラレル・サーバー・ディレクティブが効率的であるかどうかを判断するために使用できます。 |
表12-6に、アクティブなプランがないCDBのルートに対する「リソース管理」ページの内容を示します。
表12-6 アクティブなプランがないCDBのルートの「リソース管理」ページ
項目 | 説明 |
---|---|
「一般」セクション |
データベースに関する一般情報が表示されます。 |
「ホストCPU」グラフ |
このグラフには、データベース・インスタンスと、その他のホスト・プロセスによって、このホストで使用されているCPUの量が示されます。Oracle RACデータベースの場合、このグラフには、すべてのデータベース・インスタンスで使用されている累積のCPUが示されます。 このグラフは、インスタンス・ケージングの制限を設定する際のガイダンスとして使用します。Oracle RACデータベースの場合、インスタンス・ケージングはすべてのインスタンスに対して有効化することもできます。 |
「PDB別のCPU使用率」グラフ |
このグラフには、上位のPDBで使用されるCPUの量が示されます。 このグラフは、リソース・マネージャ計画のPDBに対するCPUリソース制限が適切であるかどうかを判断するために使用できます。 |
「メモリー」グラフ |
このグラフは、最もメモリーを消費する上位のPDBを判断する際に使用します。 このグラフは、PDBのメモリー制限を判断する際に使用します。 |
「アクティブなパラレル・サーバー」グラフ |
このグラフは、「ダウングレードされたパラレル操作」と併用して、リソース・マネージャ計画でPDBにパラレル・サーバー・ディレクティブを設定する際に使用します。 |
「ダウングレードされたパラレル操作」グラフ |
このグラフには、ダウングレード(シリアル化)されたパラレル操作の数が示されます。このグラフは、「アクティブなパラレル・サーバー」グラフと併用して、リソース・マネージャ計画でPDBにパラレル・サーバー・ディレクティブを設定する際に使用します。 |
表12-7に、プランがアクティブなCDBのルートに対する「リソース管理」ページの内容を示します。
表12-7 プランがアクティブなCDBのルートの「リソース管理」ページ
項目 | 説明 |
---|---|
「一般」セクション |
データベースとリソース・プランに関する一般情報が表示されます。 |
「ホストCPU」グラフ |
このグラフには、データベース・インスタンスと、その他のホスト・プロセスによって、このホストで使用されているCPUの量が示されます。Oracle RACデータベースの場合、このグラフには、すべてのデータベース・インスタンスで使用されている累積のCPUが示されます。 このグラフは、インスタンス・ケージングの制限を設定する際のガイダンスとして使用します。Oracle RACデータベースの場合、インスタンス・ケージングはすべてのインスタンスに対して有効化することもできます。 |
「CPU使用率」グラフ |
このグラフは、現在アクティブなリソース・マネージャ計画で上位のPDBが使用しているCPUの量を示します。 このグラフは、PDBのCPUリソース制限が効果的かどうかを判断する際に使用します。 |
「使用されたメモリー」グラフ |
このグラフは、現在アクティブなリソース・マネージャ計画で最もメモリーを消費する上位のPDBを判断する際に使用します。 |
「SQL実行」リージョン |
このリージョンには、次の2つのグラフが示されます。
|
「並列実行」リージョン |
上位のPDBについて、2つのグラフにパラレル・サーバーの数と、データベース・リソース・マネージャによってキューされたパラレルSQL文の数が示されます。 これらのグラフは、リソース・マネージャ計画のパラレル・サーバー・ディレクティブが効率的であるかどうかを判断する際に使用します。 |
表12-8に、アクティブなプランがないPDBに対する「リソース管理」ページを示します。
表12-8 アクティブなプランがないPDBの「リソース管理」ページ
項目 | 説明 |
---|---|
「一般」セクション |
データベースに関する一般情報が表示されます。 |
「サービス別のCPUアクティビティ」グラフ |
このグラフは、このインスタンスで実行中の上位データベース・サービスのCPU使用率を示します。 コンシューマ・グループがデータベース・サービスへのマッピングで作成されている場合は、このグラフにより、そのコンシューマ・グループにCPUリソースの制限を設定する方法のガイダンスが得られます。 |
「SQL実行統計」グラフ |
このグラフは、リソース・マネージャ計画で設定可能なランナウェイ問合せのディレクティブについて、特定のSQL実行統計の最大値を示します。 これらの値は、ランナウェイ問合せにディレクティブを設定する際のガイダンスを得るために使用できます。 |
「メモリー」グラフ |
このグラフは、現在アクティブな計画で最もメモリーを消費する上位コンシューマ・グループを判断する際に使用します。 |
「パラレルまたはシリアルのアクティブ・セッション」グラフ |
このグラフは、「ダウングレードされたパラレル操作」と併用して、リソース・マネージャ計画でパラレル・サーバー・ディレクティブを設定する際に使用します。 |
「ダウングレードされたパラレル操作」グラフ |
このグラフには、ダウングレード(シリアル化)されたパラレル操作の数が示されます。このグラフは、「アクティブなパラレル・サーバー」グラフと併用して、リソース・マネージャ計画でパラレル・サーバー・ディレクティブを設定する際に使用します。 |
表12-9に、プランがアクティブなPDBに対する「リソース管理」ページを示します。
表12-9 プランがアクティブなPDBの「リソース管理」ページ
項目 | 説明 |
---|---|
「一般」セクション |
データベースとリソース・プランに関する一般情報が表示されます。 |
「CPU使用率」グラフ |
このグラフは、現在アクティブなリソース・マネージャ計画で上位のコンシューマ・グループが使用しているCPUの量を示します。 このグラフは、コンシューマ・グループに対するCPUリソースの制限が効果的であるかどうかを判断する際に使用します。 |
「待機中セッション」グラフ |
このグラフは、現在アクティブなリソース・マネージャ計画で上位コンシューマ・グループが待機しているセッションの数を示します。 このグラフは、コンシューマ・グループに設定したリソースの制限が適切かどうかを判断する場合や、リソースの制限によってセッションが待機状態になっているかどうかを判断する場合に使用します。 |
「SQL実行」グラフ |
このグラフは、リソース・マネージャ計画で設定可能なランナウェイ問合せのディレクティブについて、特定のSQL実行統計の最大値を示します。 これらの値は、ランナウェイ問合せにディレクティブを設定する際のガイダンスを得るために使用できます。 |
「ランナウェイ問合せ違反」グラフ |
このグラフは、現在アクティブなリソース・マネージャ計画でランナウェイ問合せによって発生する違反の数をコンシューマ・グループごとに示します。 これにより、ランナウェイ問合せにディレクティブを設定するときのガイダンスが得られます。 |
「並列実行」リージョン |
上位コンシューマ・グループについて、2つのグラフにパラレル・サーバーの数と、データベース・リソース・マネージャによってキューされたパラレルSQL文の数が示されます。 これらのグラフは、リソース・マネージャ計画のパラレル・サーバー・ディレクティブが効率的であるかどうかを判断する際に使用します。 |
関連項目:
12.2 プランの管理
12.2.1 プランの作成
EM Expressを使用してリソース・プラン(プラン)を作成できます。プランは、「リソース管理: すべてのプラン」ページで作成します。
システム内のサービス数、ユーザー数、またはプログラム数が8つ未満の場合は、「クイック・セットアップ」を使用して新しいPDBプランを作成できます。
システム内のサービス数、ユーザー数、またはプログラム数が8つ以上ある場合は、空のプランを作成して、そのプランにディレクティブを追加してください。
注意:
12.2.1.2 新しいプランの作成
EM Expressを使用して、新しいリソース・プラン(プラン)を作成できます。
関連項目:
12.2.2 プランの表示
12.2.3 プランの変更
12.2.3.1 プランへの新しいコンシューマ・グループの追加
EM Expressを使用して、非CDBプランまたはPDBプランに新しいコンシューマ・グループを追加できます。
関連項目:
12.2.3.2 プランへの既存のコンシューマ・グループの追加
EM Expressを使用して、非CDBプランまたはPDBプランに既存のコンシューマ・グループを追加できます。
関連項目:
12.2.3.3 プランからのコンシューマ・グループの削除
EM Expressを使用して、非CDBプランまたはPDBプランからコンシューマ・グループを削除できます。
関連項目:
12.2.3.4 プランのコンシューマ・グループのコメントの設定
EM Expressを使用して、非CDBプランまたはPDBプランのコンシューマ・グループにコメントを設定できます。
関連項目:
12.2.3.5 コンシューマ・グループのマッピング・ルールの設定
EM Expressを使用して、コンシューマ・グループにマッピング・ルールを設定できます。
関連項目:
-
マッピング・ルールの詳細は、『Oracle Database管理者ガイド』を参照してください。
-
「プランの管理」
12.2.3.6 コンシューマ・グループのマッピング・ルールの優先度の設定
EM Expressを使用して、コンシューマ・グループにマッピング・ルールの優先度を設定できます。
関連項目:
12.2.3.7 プラン内のコンシューマ・グループのCPUディレクティブの設定
EM Expressを使用して、非CDBプランまたはPDBプランのコンシューマ・グループにCPUディレクティブを設定できます。
関連項目:
「プランの管理」
12.2.3.8 プラン内のコンシューマ・グループのパラレル・サーバー・ディレクティブの設定
EM Expressを使用して、非CDBプランまたはPDBプランのコンシューマ・グループにパラレル・サーバー・ディレクティブを設定できます。
関連項目:
「プランの管理」
12.2.3.9 プラン内のコンシューマ・グループのランナウェイ問合せディレクティブの設定
EM Expressを使用して、非CDBプランまたはPDBプランのコンシューマ・グループにランナウェイ問合せディレクティブを設定できます。
関連項目:
「プランの管理」
12.2.3.10 プラン内のコンシューマ・グループのセッション・ディレクティブの設定
EM Expressを使用して、非CDBプランまたはPDBプランのコンシューマ・グループにセッション・ディレクティブを設定できます。
関連項目:
「プランの管理」
12.2.3.11 現在アクティブなプランとしてのプランの設定
EM Expressを使用して、リソース・プランを現在アクティブなプランとして設定できます。
関連項目:
12.2.3.12 CDBプランのデフォルトPDBディレクティブの変更
EM Expressを使用すると、CDBプランのデフォルトPDBディレクティブを変更できます。
関連項目:
12.2.3.13 CDBプラン内のPDBのディレクティブの変更
EM Expressを使用して、CDBプラン内のPDBのディレクティブを変更できます。
関連項目:
12.3 単一サーバーにおける複数のデータベース・インスタンスの管理
Oracle Databaseには、複数のOracle Databaseインスタンスを実行する複数CPUサーバーでCPU割当てを管理する方法が用意されています。
この方法はインスタンス・ケージングと呼ばれます。EM Expressのインスタンス・ケージングとリソース・マネージャ機能は連携して機能し、複数のインスタンスで目的とするサービス・レベルを実現できるようにサポートします。
関連項目:
12.3.1 インスタンス・ケージングについて
インスタンス・ケージングを使用して、複数のOracleデータベース・インスタンスが単一の複数CPUサーバーで実行されている場合にハードウェア・リソースをより効率的に使用できます。
インスタンス・ケージングを設定する代表的な理由は、サーバーの統合、つまり使用できるハードウェア・リソースをより効率的に使用するためです。1台のサーバーで複数のインスタンスが実行されている場合、インスタンスはCPUリソースを競い合います。1つのリソース集中型のデータベース・インスタンスが、他のインスタンスのパフォーマンスを大きく低下させる場合があります。たとえば、16個のCPUのシステムで4つのデータベース・インスタンスが存在する場合に、ある1つのデータベース・インスタンスに大きな負荷がかかっている間、オペレーティング・システムによって、このインスタンスの実行にCPUの大半が使用される可能性があります。これにより、他の3つのインスタンスのパフォーマンスが低下することがあります。
各データベース・インスタンスのCPU使用率を制限する簡単な方法は、インスタンス・ケージングを使用することです。インスタンス・ケージングは、初期化パラメータを使用して、インスタンスが同時に使用できるCPU数を制限する方法です。
前の例で、インスタンス・ケージングを使用して4つのインスタンスそれぞれのCPU数を4に制限すると、1つのインスタンスによって他のインスタンスが妨害される可能性が低くなります。4つのCPUに制約されると、インスタンスはCPUにバインドされます。このとき、リソース・マネージャによって、インスタンスに対して設定したリソース・プランに基づき、様々なデータベース・セッション間でのCPUの割当てが開始されます。このように、インスタンス・ケージングとリソース・マネージャによって、単一サーバーで複数のインスタンスを管理する簡単で効果的な方法が提供されます。
関連項目:
-
インスタンス・ケージングの詳細は、『Oracle Database管理者ガイド』を参照してください。
12.4 データベース・リソースの管理: Oracle by Example Series
Oracle by Example(OBE)には、『Oracle Database 2日でデータベース管理者』に関するシリーズが含まれています。このOBEシリーズでは、この項のタスクを段階的に説明し、注釈付きのスクリーンショットを使用します。
-
「リソース管理」ページへのアクセス
-
リソース・プランの作成および表示
-
リソース・プランの変更
-
前述のチュートリアルのクリック可能なリストを表示するには、「データベース・リソースの管理シリーズ」に移動します。
-
チュートリアル・シリーズを介してシームレスにナビゲートするには、次のリンクにアクセスしてください。
ペイン下部にある「>」ボタンをクリックして、チュートリアル間を移動できます。