CS_RESOURCE_MANAGERパッケージ
CS_RESOURCE_MANAGERパッケージには、コンシューマ・グループ、プランの作成、およびコンシューマ・グループ・パラメータとプラン・ディレクティブの更新を行うためのインタフェースが用意されています。
トピック:
- CLEAR_PENDING_AREAプロシージャ
このプロシージャは、リソース・マネージャの保留中の変更をクリアします。 - CREATE_CONSUMER_GROUPプロシージャ
このプロシージャは、リソース・コンシューマ・グループを定義します。 - CREATE_PENDING_AREAプロシージャ
このプロシージャは、リソース・マネージャ・オブジェクトを変更するためのペンディング・エリアを作成します。 - CREATE_PLANプロシージャ
このプロシージャは、リソース・プランを定義するエントリを作成します。 - CREATE_PLAN_DIRECTIVEプロシージャ
このプロシージャは、リソース・プラン・ディレクティブを作成します。 - DELETE_CONSUMER_GROUPプロシージャ
このプロシージャは、リソース・コンシューマ・グループを削除します。 - DELETE_PLANプロシージャ
このプロシージャは、指定したプランと、そのプランが参照するすべてのプラン・ディレクティブを削除します。 - DELETE_PLAN_DIRECTIVEプロシージャ
このプロシージャは、リソース・プラン・ディレクティブを削除します。 - LIST_CURRENT_RULESファンクション
このファンクションは、デフォルト計画の現在の設定を戻します。 - LIST_DEFAULT_RULESファンクション
このファンクションは、すべてのコンシューマ・グループのデフォルト値を返します。 - REVERT_TO_DEFAULT_VALUESプロシージャ
このプロシージャは、デフォルトのリソース・マネージャ・プラン・プロパティをデフォルト値に戻します。 - SET_CONSUMER_GROUP_MAPPINGプロシージャ
このプロシージャは、セッションのログイン属性およびランタイム属性に基づいて、セッションをコンシューマ・グループにマップするエントリを追加、削除または変更します。 - SET_CONSUMER_GROUP_MAPPING_PRIプロシージャ
セッションの複数の属性を使用して、セッションをコンシューマ・グループにマップできます。 このプロシージャでは、属性のマッピングにおける優先順位を指定します。 - SUBMIT_PENDING_AREAプロシージャ
このプロシージャは、リソース・マネージャの保留中の変更を送信します。 変更を検証してコミットした後(この変更が有効な場合)、ペンディング・エリアをクリアします。 - UPDATE_PLAN_DIRECTIVEプロシージャ
このプロシージャを使用して、Autonomous AI Databaseに付属するデフォルトの事前定義済プラン、つまり、指定したコンシューマ・グループのDWCS_PLANおよびOLTP_PLANを更新します。 - UPDATE_PLAN_DIRECTIVE_ADVプロシージャ
このプロシージャを使用して、指定したコンシューマ・グループのユーザー定義リソース・マネージャ・プランを更新します。 - VALIDATE_PENDING_AREAプロシージャ
このプロシージャは、リソース・マネージャの保留中の変更を検証します。
CLEAR_PENDING_AREAプロシージャ
このプロシージャは、リソース・マネージャに対する保留中の変更内容をクリアします。
構文
CS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;
親トピック: CS_RESOURCE_MANAGERパッケージ
CREATE_CONSUMER_GROUPプロシージャ
このプロシージャは、リソース・コンシューマ・グループを定義します。
構文
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL);パラメータ
| パラメータ | 説明 |
|---|---|
|
|
コンシューマ・グループ名 |
|
|
ユーザー・コメント。 |
使用上のノート
次の方法で、セッションをコンシューマ・グループにどのように配置するかを決定できます。
-
接続文字列の割当て:次に示すように、データベース接続文字列に
CONSUMER_GROUPを指定します。 この方法はマッピングよりも優先され、定義されたマッピングはすべてオーバーライドされます。(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=my_database_low.adb.oraclecloud.com)(CONSUMER_GROUP=OLTP_LOW))(security=(ssl_server_dn_match=yes))) -
マッピング・ルール:
set_consumer_group_mappingおよびset_consumer_group_mapping_priサブプログラムを使用して、ユーザー名やアプリケーション名などの属性に基づいて、セッションまたはアプリケーションをコンシューマ・グループに割り当てます。
例
BEGIN
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group => 'OLTP_HIGH',
comment => 'Priority OLTP sessions');
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group => 'OLTP_LOW',
comment => 'Background/low-priority OLTP');
CS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
consumer_group => 'LH_BATCH',
comment => 'Batch / reporting workloads');
END;
/親トピック: CS_RESOURCE_MANAGERパッケージ
CREATE_PENDING_AREAプロシージャ
このプロシージャは、リソース・マネージャ・オブジェクトを変更するためのペンディング・エリアを作成します。
ペンディング・エリアは、計画スキーマ変更のスクラッチ領域と考えることができます。 管理者は、このペンディング・エリアを作成し、必要に応じて変更を加え、場合によってその変更を検証し、その実行が完了したときのみ、その変更内容がアクティブになります。
構文
CS_RESOURCE_MANAGER.CREATE_PENDING_AREA;使用上のノート
ペンディング・エリアがアクティブな間は、変更された現行のプラン・スキーマを適切なユーザー・ビューから選択して、いつでも表示できます。 詳細は、「データベース・リソース・マネージャの構成およびステータスの表示」を参照してください。
現行の変更を中止する場合は、いつでもペンディング・エリアをクリアできます。 また、VALIDATEプロシージャをコールして、変更が有効になっているかどうかを確認できます。 変更は、エントリ・グループの一貫性を維持するための指定の順序で実行する必要はありません。 これらのチェックは、ペンディング・エリアが実行されるときにも暗黙的に行われます。
ノート:
Oracleでは、孤立したコンシューマ・グループ(つまり、そのコンシューマ・グループを参照するプラン・ディレクティブがないコンシューマ・グループ)が可能です。 これは、現在は使用しないが将来使用するコンシューマ・グループを管理者があらかじめ作成できるようにするためです。- プラン・スキーマにループがないこと。
- プラン・ディレクティブが参照するすべての計画およびコンシューマ・グループがあること。
- すべての計画に、計画またはコンシューマ・グループのいずれかを参照するプラン・ディレクティブがあること。
- リソース割当て方法がEMPHASISの場合は、指定レベルでのパーセントの合計が100を超えないこと。
- アクティブなインスタンスでトップレベルの計画として現在使用されている計画を削除しないこと。
- 指定の計画でのプラン・ディレクティブが28を超えないこと(つまり、計画は29以上の子を持つことはできません)。
- アクティブなプラン・スキーマ内のコンシューマ・グループが28を超えないこと。
- 計画とコンシューマ・グループは同じネームスペースを使用するため、コンシューマ・グループと同じ名前の計画がないこと。
- アクティブなプラン・スキーマのどこかに、
OTHER_GROUPSに対するプラン・ディレクティブが存在する必要があります。 これにより、現在アクティブなプランでカバーされていないセッションに、OTHER_GROUPSディレクティブで指定されたリソースが割り当てられるようになります。
VALIDATEまたはSUBMITプロシージャによるチェック時に、前述のルールのいずれかに違反していると、それを通知するエラー・メッセージが戻されます。 変更して1つ以上の問題を修正し、VALIDATEまたはSUBMITプロシージャを再発行できます。
親トピック: CS_RESOURCE_MANAGERパッケージ
CREATE_PLANプロシージャ
このプロシージャは、リソース・プランを定義するエントリを作成します。
構文
CS_RESOURCE_MANAGER.CREATE_PLAN (
plan IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL);パラメータ
| パラメータ | 説明 |
|---|---|
|
|
リソース・プランの名前。 |
|
|
ユーザー・コメント。 |
例
BEGIN
CS_RESOURCE_MANAGER.CREATE_PLAN(
plan => 'OLTP_LH_PLAN',
comment => 'Split resources between OLTP and Lakehouse workload types');
END;
/親トピック: CS_RESOURCE_MANAGERパッケージ
CREATE_PLAN_DIRECTIVEプロシージャ
このプロシージャは、リソース・プラン・ディレクティブを作成します。
構文
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE (
plan IN VARCHAR2,
consumer_group IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL,
shares IN NUMBER DEFAULT NULL,
utilization_limit IN NUMBER DEFAULT NULL,
switch_action IN VARCHAR2 DEFAULT NULL,
cpu_time_limit IN NUMBER DEFAULT NULL,
io_megabytes_limit IN NUMBER DEFAULT NULL,
io_reqs_limit IN NUMBER DEFAULT NULL,
io_logical_limit IN NUMBER DEFAULT NULL,
elapsed_time_limit IN NUMBER DEFAULT NULL,
max_idle_time IN NUMBER DEFAULT NULL,
max_idle_blocker_time IN NUMBER DEFAULT NULL,
active_session_limit IN NUMBER DEFAULT NULL,
active_session_timeout IN NUMBER DEFAULT NULL,
parallel_degree_limit IN NUMBER DEFAULT NULL,
concurrency_limit IN NUMBER DEFAULT NULL,
session_pga_limit IN NUMBER DEFAULT NULL,
parallel_queue_timeout IN NUMBER DEFAULT NULL,
parallel_queue_timeout_action IN NUMBER DEFAULT NULL);パラメータ
| パラメータ | 説明 |
|---|---|
|
|
リソース・プランの名前。 |
|
|
コンシューマ・グループ名 |
|
|
プラン・ディレクティブについてのコメント。 |
|
|
コンシューマ・グループのリソース割当ての共有。 シェアは、コンシューマ・グループが他のコンシューマ・グループに対して取得するCPUおよびIOリソースの量を決定します。 たとえば、シェアが2のコンシューマ・グループは、シェアが1のコンシューマ・グループより2倍のCPUおよびIOリソースを取得します。 プラン内のコンシューマ・グループの共有を指定しない場合、そのコンシューマ・グループの共有は1に設定されます。 |
|
|
コンシューマ・グループが取得できる最大CPUおよびI/Oリソースを決定するリソース制限。 |
|
|
ディレクティブで指定された制限に達したときに実行されるアクション。 有効な値は、 |
|
|
アクションが実行される前にセッションが実行できるCPU上の時間(秒)。 デフォルトの |
|
|
アクションが実行される前にセッションが発行できるI/Oの量(MB)。 デフォルトの |
io_reqs_limit |
アクションが実行される前にセッションが発行できるI/Oリクエストの数。 デフォルトの |
io_logical_limit |
|
elapsed_time_limit |
|
max_idle_time |
セッションが終了するまでにセッションをアイドル状態にできる秒数。 デフォルトの |
max_idle_blocker_time |
セッションが他のセッションに必要なロックまたはリソースを保持している場合、セッションが終了するまでにセッションをアイドル状態にできる最大時間(秒)。 |
active_session_limit |
アクティブ・コールを同時に実行できるセッションの最大数。 |
active_session_timeout |
非アクティブ・セッション・キューにあるコール(実行待ち状態)がタイムアウトする時間(秒)を指定します。 デフォルトの |
parallel_degree_limit |
任意の操作の並列度を制限します。 デフォルトの |
concurrency_limit |
同時実行性レベルを設定するため、並列度(DOP)を設定します。 DOP 1を作成できます。 |
session_pga_limit |
このコンシューマ・グループのセッションが終了する前に割当て可能な、チューニングできないPGAの最大量(MB)。 チューニング可能なPGAを割り当てるSQL操作(一時領域の使用を選択できる操作)は、この制限によって制御されません。 |
parallel_queue_timeout |
パラレル文が削除されてエラー(ORA- 07454)で終了されるまでに、パラレル文がそのコンシューマ・グループのパラレル文キューに残る時間(秒)を指定します。 |
parallel_queue_timeout_action |
値は次のとおりです。
|
使用上のノート
- Autonomous AI Databaseに付属するデフォルトの事前定義済プラン(
DWCS_PLANおよびOLTP_PLAN)にはプラン・ディレクティブを作成できません。 - 共有を除くすべてのパラメータは、デフォルトで
NULLに設定されます。 parallel_queue_timeoutが指定されていても、parallel_queue_timeout_actionが指定されていない場合、エラーがスローされます。
例
BEGIN
-- High-priority OLTP gets 8 CPU/IO shares and no parallelism
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
plan => 'OLTP_LH_PLAN',
consumer_group => 'OLTP_HIGH',
comment => 'OLTP high priority',
shares => 8,
parallel_degree_limit => 1
);
-- Lower-priority OLTP gets 4 CPU/IO shares and no parallelism
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
plan => 'OLTP_LH_PLAN',
consumer_group => 'OLTP_LOW',
comment => 'OLTP low priority',
shares => 2,
parallel_degree_limit => 1
);
-- Lakehouse / batch gets 4 shares and the degree of parallelism is capped to 4.
-- If a parallel SQL statement waits in the queue for more than 60 seconds, it will be canceled.
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
plan => 'OLTP_LH_PLAN',
consumer_group => 'LH_BATCH',
comment => 'Lakehouse/reporting workloads',
shares => 4,
parallel_degree_limit => 4, -- cap DOP within this group (adjust as needed)
parallel_queue_timeout => 60,
parallel_queue_timeout_action => 'CANCEL'
);
-- Catch-all for anything unmapped; sessions that are not mapped to a consumer group get 1 CPU/IO share and no parallelism
CS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
plan => 'OLTP_LH_PLAN',
consumer_group => 'OTHER_GROUPS',
comment => 'Catch-all for unmapped sessions',
shares => 1,
parallel_degree_limit => 1
);
END;
/親トピック: CS_RESOURCE_MANAGERパッケージ
DELETE_CONSUMER_GROUPプロシージャ
このプロシージャは、リソース・コンシューマ・グループを削除します。
構文
CS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
consumer_group IN VARCHAR2);パラメータ
| パラメータ | 説明 |
|---|---|
|
|
削除されるコンシューマ・グループの名前。 ノート: Autonomous AI Databaseに付属する事前定義済コンシューマ・グループ(TPURGENT、TP、HIGH、MEDIUMおよびLOW)は削除できません。 |
例
CS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
consumer_group ==> <consumer_group_name>);親トピック: CS_RESOURCE_MANAGERパッケージ
DELETE_PLANプロシージャ
このプロシージャは、指定の計画およびそれが参照するすべてのプラン・ディレクティブを削除します。
構文
CS_RESOURCE_MANAGER.DELETE_PLAN (
plan IN VARCHAR2,
cascade IN BOOLEAN DEFAULT FALSE); パラメータ
| パラメータ | 説明 |
|---|---|
|
|
削除するリソース・プランの名前。 ノート: Autonomous AI Databaseに付属する事前定義済プラン(DWCS_PLANおよびOLTP_PLAN)は削除できません。
|
cascade |
指定したプランおよびそのすべての子孫(プラン・ディレクティブ、サブプラン、コンシューマ・グループ)を削除するかどうかを示すフラグ。 必須オブジェクトおよび必須ディレクティブは削除されません。 デフォルト値は DELETE_PLANでエラーが発生すると、操作がロールバックされ、何も削除されません。
|
例
CS_RESOURCE_MANAGER.DELETE_PLAN (
plan ==> <plan_name>);親トピック: CS_RESOURCE_MANAGERパッケージ
DELETE_PLAN_DIRECTIVEプロシージャ
このプロシージャは、リソース・プラン・ディレクティブを削除します。
構文
CS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
plan IN VARCHAR2,
consumer_group IN VARCHAR2);パラメータ
| パラメータ | 説明 |
|---|---|
|
|
リソース・プランの名前。 ノート: Autonomous AI Databaseに付属するデフォルトの事前定義済プラン(DWCS_PLANおよびOLTP_PLAN)のプラン・ディレクティブは削除できません。
|
consumer_group |
コンシューマ・グループの名前。 |
例
CS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
plan => <plan_name>,
consumer_group => <consumer_group_name>);
親トピック: CS_RESOURCE_MANAGERパッケージ
LIST_CURRENT_RULESファンクション
このファンクションは、デフォルト計画の現在の設定を戻します。
ノート:
LIST_CURRENT_RULESは、カスタム・プランの設定の表示には使用できません。 カスタム・プランを使用している場合は、DBRMビューを使用して設定を表示できます。
構文
CS_RESOURCE_MANAGER.LIST_CURRENT_RULES
RETURN TABLE;
例
SELECT * FROM CS_RESOURCE_MANAGER.LIST_CURRENT_RULES();
CONSUMER_GROUP ELAPSED_TIME_LIMIT IO_MEGABYTES_LIMIT SHARES CONCURRENCY_LIMIT DEGREE_OF_PARALLELISM
-------------- ------------------ ------------------ ------ ----------------- ---------------------
HIGH 4 3 3
MEDIUM 2 2 9
LOW 1 900 1
親トピック: CS_RESOURCE_MANAGERパッケージ
LIST_DEFAULT_RULESファンクション
この関数は、すべてのコンシューマ・グループのデフォルト値を返します。
構文
CS_RESOURCE_MANAGER.LIST_DEFAULT_RULES
RETURN TABLE;使用上のノート
-
デフォルトでは、
TPURGENTコンシューマ・グループの並列度ポリシー値はMANUALです。CS_RESOURCE_MANAGER.LIST_DEFAULT_RULES関数は、TPURGENTコンシューマ・グループのDEGREE_OF_PARALLELISMのデフォルト値を表示しません。
例
SELECT * FROM CS_RESOURCE_MANAGER.LIST_DEFAULT_RULES();
CONSUMER_GROUP ELAPSED_TIME_LIMIT IO_MEGABYTES_LIMIT SHARES CONCURRENCY_LIMIT DEGREE_OF_PARALLELISM
-------------- ------------------ ------------------ ------ ----------------- ---------------------
HIGH 0 0 4 3 1
MEDIUM 0 0 2 1 1
LOW 0 0 1 300 1
TP 0 0 8 300 1
TPURGENT 0 0 12 300
親トピック: CS_RESOURCE_MANAGERパッケージ
REVERT_TO_DEFAULT_VALUESプロシージャ
このプロシージャは、デフォルトのリソース・マネージャ・プラン・プロパティをデフォルト値に戻します。
ノート:
このプロシージャはカスタム・プランでは使用できません。また、このプロシージャは、Autonomous AI Databaseに付属するデフォルトのリソース・マネージャ・プラン(DWCS_PLANおよびOLTP_PLAN)への変更を元に戻すためにのみ使用できます。
構文
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(
consumer_group IN VARCHAR2,
shares IN BOOLEAN DEFAULT FALSE,
concurrency_limit IN BOOLEAN DEFAULT FALSE);パラメータ
| パラメータ | 説明 |
|---|---|
|
|
元に戻すコンシューマ・グループを指定します。 有効な値は、 |
shares |
値が |
concurrency_limit |
値が |
例
BEGIN
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(
consumer_group => 'MEDIUM',
concurrency_limit => TRUE);
END;
/
BEGIN
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(
consumer_group => 'HIGH',
shares => TRUE);
END;
/
親トピック: CS_RESOURCE_MANAGERパッケージ
SET_CONSUMER_GROUP_MAPPINGプロシージャ
このプロシージャは、セッションのログイン属性およびランタイム属性に基づいて、セッションをコンシューマ・グループにマップするエントリを追加、削除または変更します。
構文
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute IN VARCHAR2,
value IN VARCHAR2,
consumer_group IN VARCHAR2 DEFAULT NULL);パラメータ
| パラメータ | 説明 |
|---|---|
|
|
追加または変更するマッピング属性。 リストされている定数の1つを指定します。 |
|
|
一致させる属性値。 これには、絶対マッピングと正規表現の両方が含まれます。 |
|
|
マップされたコンシューマ・グループの名前。マッピングを削除する場合は |
使用上のノート
- 指定された属性および値に対するマッピングが存在しない場合は、指定されたコンシューマ・グループへのマッピングが作成されます。 指定された属性および値に対するマッピングがすでに存在する場合、マッピング先のコンシューマ・グループは、指定された属性および値を持つコンシューマ・グループに更新されます。 consumer_group引数が
NULLの場合、指定された属性および値からのマッピングはすべて削除されます。 - サブプログラムでは、値パラメータの単純な正規表現がサポートされています。 SQLの'LIKE'演算子と同じセマンティクスを実装します。 具体的には、マルチキャラクタ・ワイルドカードとして'%'を使用し、単一キャラクタ・ワイルドカードとして'_'を使用します。 '\\'文字を使用すると、ワイルドカードをエスケープできます。 属性が次のいずれかの場合にのみ、ワイルドカードを使用できることに注意してください。
CLIENT_OS_USERCLIENT_PROGRAMCLIENT_MACHINEMODULE_NAMEMODULE_NAME_ACTIONSERVICE_MODULESERVICE_MODULE_ACTION
CS_RESOURCE_MANAGER.CLIENT_PROGRAMのコンシューマ・グループ・マッピングの比較は、指定されたCLIENT_PROGRAM値と比較する前に、@記号およびV$SESSION.PROGRAMの次の文字を削除することによって実行されます。- ユーザー名やアプリケーション名などの属性を使用して、前述の例に示すように、セッションをコンシューマ・グループにどのように配置するかを決定できます。
例
BEGIN
-- Map schema APP_USER to OLTP_HIGH
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute => 'ORACLE_USER',
value => 'APP_USER',
consumer_group => 'OLTP_HIGH');
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute => 'ORACLE_USER',
value => 'LH_USER',
consumer_group => 'LH_BATCH');
END;
/親トピック: CS_RESOURCE_MANAGERパッケージ
SET_CONSUMER_GROUP_MAPPING_PRIプロシージャ
1つのセッションが持つ複数の属性を使用して、セッションをコンシューマ・グループにマップできます。 このプロシージャでは、属性のマッピングにおける優先順位を指定します。
構文
CS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING_PRI(
explicit IN NUMBER,
oracle_user IN NUMBER,
service_name IN NUMBER,
client_program IN NUMBER,
module_name IN NUMBER,
module_name_action IN NUMBER,
client_id IN NUMBER DEFAULT 11);パラメータ
| パラメータ | 説明 |
|---|---|
|
|
明示的マッピングの優先順位。 |
|
|
Oracleユーザー名のマッピングの優先順位。 |
|
|
クライアント・サービス名のマッピングの優先順位。 |
|
|
クライアント・プログラムのマッピングの優先順位。 |
|
|
アプリケーション・モジュール名のマッピングの優先順位。 |
|
|
アプリケーション・モジュール名およびアプリケーション・アクションのマッピングの優先順位。 |
|
|
クライアント識別子。 |
使用上のノート
- この手順では、引数として明示的な擬似属性を含める必要があります。 これは、1に設定する必要があります。 これは、明示的なコンシューマ・グループの切替えに最も高い優先度が指定されていることを示します。
DBMS_SESSION.SWITCH_CURRENT_CONSUMER_GROUPを使用してコンシューマ・グループを切り替えると、コンシューマ・グループ・マッピングより優先されます。 - 優先順位を指定する値は、それぞれ1から11の一意の整数にしてください。 優先順位1から11を使用する場合、優先順位が最も高いのは1、最も低いのは10です。
- ユーザー名やアプリケーション名などの属性を使用して、セッションをコンシューマ・グループにどのように配置するかを決定できます。 例については、「ステップ4: コンシューマ・グループ・マッピングの作成」を参照してください。
親トピック: CS_RESOURCE_MANAGERパッケージ
SUBMIT_PENDING_AREAプロシージャ
このプロシージャは、リソース・マネージャに対する保留中の変更を発行します。 変更を検証してコミットした後(この変更が有効な場合)、ペンディング・エリアをクリアします。
ノート:
SUBMIT_PENDING_AREAへのコールは、VALIDATE_PENDING_AREAが成功していても失敗する場合があります。 これは、削除される計画がVALIDATE_PENDING_AREAのコール後、SUBMIT_PENDING_AREAのコール前にインスタンスによってロードされる場合に発生する可能性があります。
構文
CS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;親トピック: CS_RESOURCE_MANAGERパッケージ
UPDATE_PLAN_DIRECTIVEプロシージャ
この手順を使用して、Autonomous AI Databaseに付属するデフォルトの事前定義済プラン(指定されたコンシューマ・グループのDWCS_PLANおよびOLTP_PLAN)を更新します。
ノート:
この手順を使用してカスタム・プランの設定を更新することはできません。 カスタム・ユーザー定義プラン属性を更新するには、UPDATE_PLAN_DIRECTIVE_ADVプロシージャを使用します。
構文
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group IN VARCHAR2,
io_megabytes_limit IN NUMBER DEFAULT NULL,
elapsed_time_limit IN NUMBER DEFAULT NULL,
shares IN NUMBER DEFAULT NULL,
concurrency_limit IN NUMBER DEFAULT NULL);パラメータ
| パラメータ | 説明 |
|---|---|
|
|
更新するコンシューマ・グループを指定します。 有効な値は、 |
|
|
SQL操作で発行できるI/Oの最大メガバイトを指定します。 制限をクリアするには、 |
|
|
SQL操作を実行できる最大時間(秒)を指定します。 制限をクリアするには、 |
|
|
共有値を指定します。 他のコンシューマ・グループと比較して、共有数が多いほど、コンシューマ・グループのCPUおよびI/O優先度が高くなります。 |
|
|
実行可能な同時SQL文の最大数を指定します。 このパラメータは、 |
使用上のノート
-
指定されたサービスのSQL文が、指定されたランタイム制限(
elapsed_time_limit)を超えるか、指定された量(io_megabytes_limit)を超えるI/Oを実行した場合、SQL文は終了します。 -
concurrency_limitパラメータが指定されている場合、consumer_groupの有効な値はMEDIUMのみです。
例
BEGIN
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group => 'HIGH',
shares => 8);
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group => 'MEDIUM',
shares => 2);
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group => 'LOW',
shares => 1);
END;
/
BEGIN
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group => 'HIGH',
io_megabytes_limit => null,
elapsed_time_limit => null);
END;
/
BEGIN
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(
consumer_group => 'MEDIUM',
concurrency_limit => 2);
END;
/
親トピック: CS_RESOURCE_MANAGERパッケージ
UPDATE_PLAN_DIRECTIVE_ADVプロシージャ
指定したコンシューマ・グループのユーザー定義リソース・マネージャ・プランを更新するには、この手順を使用します。
ノート:
この手順を使用して、Autonomous AI Databaseに付属するデフォルトの事前定義済プラン(DWCS_PLANおよびOLTP_PLAN)を更新することはできません。 事前定義済のデフォルト・リソース・プランを更新するには、UPDATE_PLAN_DIRECTIVEプロシージャを使用します。
構文
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE_ADV (
plan IN VARCHAR2 DEFAULT NULL,
consumer_group IN VARCHAR2,
comment IN VARCHAR2 DEFAULT NULL,
shares IN NUMBER DEFAULT NULL,
utilization_limit IN NUMBER DEFAULT NULL,
switch_action IN VARCHAR2 DEFAULT NULL,
cpu_time_limit IN NUMBER DEFAULT NULL,
io_megabytes_limit IN NUMBER DEFAULT NULL,
io_reqs_limit IN NUMBER DEFAULT NULL,
io_logical_limit IN NUMBER DEFAULT NULL,
elapsed_time_limit IN NUMBER DEFAULT NULL,
max_idle_time IN NUMBER DEFAULT NULL,
max_idle_blocker_time IN NUMBER DEFAULT NULL,
active_session_limit IN NUMBER DEFAULT NULL,
active_session_timeout IN NUMBER DEFAULT NULL,
parallel_degree_limit IN NUMBER DEFAULT NULL,
concurrency_limit IN NUMBER DEFAULT NULL,
session_pga_limit IN NUMBER DEFAULT NULL,
parallel_queue_timeout IN NUMBER DEFAULT NULL,
parallel_queue_timeout_action IN NUMBER DEFAULT NULL);パラメータ
| パラメータ | 説明 |
|---|---|
|
|
リソース・プランの名前。 |
|
|
コンシューマ・グループの名前。 |
|
|
プラン・ディレクティブについてのコメント。 |
|
|
コンシューマ・グループのリソース割当ての共有。 シェアは、コンシューマ・グループが他のコンシューマ・グループに対して取得するCPUおよびIOリソースの量を決定します。 たとえば、シェアが2のコンシューマ・グループは、シェアが1のコンシューマ・グループより2倍のCPUおよびIOリソースを取得します。 プラン内のコンシューマ・グループの共有を指定しない場合、そのコンシューマ・グループの共有は1に設定されます。 |
|
|
コンシューマ・グループが取得できる最大CPUおよびI/Oリソースを決定するリソース制限。 |
|
|
ディレクティブで指定された制限に達したときに実行されるアクション。 有効な値は、 |
|
|
アクションが実行される前にセッションが実行できるCPU上の時間(秒)。 デフォルトはNULLで、無制限を意味します。 |
|
|
アクションが実行される前にセッションが発行できるI/Oの量(MB)。 デフォルトの |
|
|
アクションが実行される前にセッションが発行できるI/Oリクエストの数。 デフォルトの |
|
|
|
|
|
|
|
|
セッションが終了するまでにセッションをアイドル状態にできる秒数。 デフォルトの |
|
|
セッションが他のセッションに必要なロックまたはリソースを保持している場合、セッションが終了するまでにセッションをアイドル状態にできる最大時間(秒)。 |
|
|
アクティブ・コールを同時に実行できるセッションの最大数。 |
|
|
非アクティブ・セッション・キューにあるコール(実行待ち状態)がタイムアウトする時間(秒)を指定します。 デフォルトの |
|
|
任意の操作の並列度を制限します。 デフォルトの |
|
|
同時実行性レベルを設定するため、並列度(DOP)を設定します。 DOP 1を作成できます。 |
|
|
このコンシューマ・グループのセッションが終了する前に割当て可能な、チューニングできないPGAの最大量(MB)。 チューニング可能なPGAを割り当てるSQL操作(一時領域の使用を選択できる操作)は、この制限によって制御されません。 |
|
|
パラレル文が削除されてエラー(ORA- 07454)で終了されるまでに、パラレル文がそのコンシューマ・グループのパラレル文キューに残る時間(秒)を指定します。 |
|
|
値は次のとおりです。
|
使用上のノート
- 共有を除くすべてのパラメータは、デフォルトで
NULLに設定されます。 parallel_queue_timeout_actionが指定されていても、parallel_queue_timeoutが指定されていない場合、エラーがスローされます。
親トピック: CS_RESOURCE_MANAGERパッケージ
VALIDATE_PENDING_AREAプロシージャ
このプロシージャは、リソース・マネージャに対する保留中の変更内容を検証します。
構文
CS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;
親トピック: CS_RESOURCE_MANAGERパッケージ