CS_RESOURCE_MANAGERパッケージ

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 

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                       

REVERT_TO_DEFAULT_VALUESプロシージャ

このプロシージャは、指定されたリソース・マネージャのプラン・プロパティをデフォルト値に戻します。

構文

CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(
   consumer_group         IN VARCHAR2,
   shares                 IN BOOLEAN   DEFAULT FALSE,
   concurrency_limit      IN BOOLEAN   DEFAULT FALSE);

パラメータ

パラメータ 説明

consumer_group

元に戻すコンシューマ・グループを指定します。

ワークロードに応じて、有効な値はHIGHMEDIUMLOWTPまたはTPURGENTです。

shares

値がTRUEの場合、サービスのシェアをデフォルト値に戻します。

concurrency_limit

値がTRUEの場合、サービスのconcurrency_limitをデフォルト値に戻します。concurrency_limitを元に戻すと、concurrency_limitdegree_of_parallelismの両方の値がデフォルト値に設定されます。

使用上のノート

  • ワークロード・タイプがデータ・ウェアハウスである場合、consumer_groupの有効な値は、HIGHMEDIUMまたはLOWです。

サンプル

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;
/

UPDATE_PLAN_DIRECTIVEプロシージャ

このプロシージャを使用して、指定されたコンシューマ・グループのリソース・プランを更新します。

構文

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);

パラメータ

パラメータ 説明

consumer_group

更新するコンシューマ・グループを指定します。

ワークロードに応じて、有効な値はHIGHMEDIUMLOWTPまたはTPURGENTです。

io_megabytes_limit

SQL操作で発行できるI/Oの最大MBを指定します。

制限をクリアするには、NULL値を指定します。

elapsed_time_limit

SQL操作を実行できる最長時間(秒)を指定します。

制限をクリアするには、NULL値を指定します。

shares

シェア値を指定します。共有の数が他のコンシューマ・グループと比較して多いほど、コンシューマ・グループのCPUおよびI/Oの優先度も高くなります。

concurrency_limit

実行可能なコンカレントSQL文の最大数を指定します。

このパラメータは、MEDIUMコンシューマ・グループでのみ有効です。

使用上のノート

  • 指定されたサービス内のSQL文が、指定されたランタイム制限(elapsed_time_limit)を超えて実行されるか、指定された量(io_megabytes_limit)より多くのI/Oを実行すると、SQL文は終了します。

  • ワークロード・タイプがデータ・ウェアハウスである場合、consumer_groupの有効な値は、HIGHMEDIUMまたはLOWです。

  • 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;
/