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を超えない場合(つまり、計画は28以上の子を持つことはできません)。
- アクティブなプラン・スキーマ内のコンシューマ・グループが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)を設定します。DOP1を作ることができます。 |
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 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 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 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ファンクション
この関数は、デフォルト・プランの現在の設定を返します。
構文
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 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プロシージャ
セッションが持つ複数の属性を使用して、セッションをコンシューマ・グループにマップできます。このプロシージャでは、属性のマッピングにおける優先順位を指定します。
構文
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の最大MBを指定します。 制限をクリアするには、 |
|
|
SQL操作を実行できる最大時間(秒)を指定します。 制限をクリアするには、 |
|
|
共有値を指定します。他のコンシューマ・グループと比較してシェアの数が多いほど、コンシューマ・グループのCPUおよびI/Oの優先度が向上します。 |
|
|
実行可能な同時SQL文の最大数を指定します。 このパラメータは、 |
使用上のノート
-
指定したサービス内のSQL文が指定されたランタイム制限(
elapsed_time_limit)を超えたり、指定された量より多くのI/O(io_megabytes_limit)を実行した場合、その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 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)を設定します。DOP1を作ることができます。 |
|
|
このコンシューマ・グループのセッションが終了する前に割当て可能な、チューニングできない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パッケージ