151 DBMS_RESOURCE_MANAGER

DBMS_RESOURCE_MANAGERパッケージは、計画、コンシューマ・グループおよびプラン・ディレクティブをメンテナンスします。また、プラン・スキーマへの変更をグループ化するセマンティクスも提供します。

この章のトピックは、次のとおりです:

参照:

データベース・リソース・マネージャの使用方法の詳細は、『Oracle Database管理者ガイド』を参照してください。

151.1 DBMS_RESOURCE_MANAGERの推奨されないサブプログラム

SET_INITIAL_CONSUMER_GROUPプロシージャは、Oracle Database 11gでは推奨されていません。

ノート:

新しいアプリケーションでは、推奨されないプロシージャは使用しないことをお薦めします。推奨されない機能は、下位互換性を維持する目的のみでサポートされています。

151.2 DBMS_RESOURCE_MANAGERのセキュリティ・モデル

実行者には、このプロシージャを実行するためのADMINISTER_RESOURCE_MANAGERシステム権限が必要です。

この権限の付与および取消しを行うプロシージャは、DBMS_RESOURCE_MANAGER_PRIVSパッケージに含まれています。

151.3 DBMS_RESOURCE_MANAGERの定数

DBMS_RESOURCE_MANAGERパッケージは、パラメータ値の指定に使用するいくつかの定数を定義します。

これらを、次の表に示します。

表151-1 DBMS_RESOURCE_MANAGERの定数

定数 タイプ 説明

CLIENT_ID

VARCHAR2(30)

CLIENT_ID

セッションのクライアント識別子

CLIENT_MACHINE

VARCHAR2(30)

CLIENT_MACHINE

クライアントが接続元にするコンピュータの名前。

CLIENT_OS_USER

VARCHAR2(30)

CLIENT_OS_USER

ログインしたクライアントのオペレーティング・システムのユーザー名。

CLIENT_PROGRAM

VARCHAR2(30)

CLIENT_PROGRAM

サーバーにログインするために使用したクライアント・プログラムの名前。

MODULE_NAME

VARCHAR2(30)

MODULE_NAME

DBMS_APPLICATION_INFOパッケージのSET_MODULEプロシージャまたは同等のOCI属性設定で設定された現在実行しているアプリケーションのモジュール名。

MODULE_NAME_ACTION

VARCHAR2(30)

MODULE_NAME_ACTION

現在のモジュールと DBMS_APPLICATION_INFOパッケージの次のプロシージャまたは同等のOCI属性設定で設定された現在実行しているアクションの組合せ。

属性は、モジュール名、その後に続くピリオド(.)、その後に続くアクション名(module_name.action_name)で指定されます。

ORACLE_FUNCTION

VARCHAR2(30)

ORACLE_FUNCTION

セッションが現在実行中のファンクション。有効なファンクションは、BACKUPCOPYDATALOADおよびINMEMORYです。BACKUPは、RMANを使用して、バックアップ操作を実行しているセッションに設定されます。COPYは、RMANを使用して、イメージ・コピーを実行しているセッションに設定されます。DATALOADは、Oracle Data Pumpを使用して、データをロードしているセッションに設定されます。

ORACLE_USER

VARCHAR2(30)

ORACLE_USER

Oracle Databaseのユーザー名。

SERVICE_MODULE

VARCHAR2(30)

SERVICE_MODULE

service_name.module_nameの形式のサービス名とモジュール名の組合せ。

SERVICE_MODULE_ACTION

VARCHAR2(30)

SERVICE_MODULE_ACTION

service_name.module_name.action_nameの形式のサービス名、モジュール名およびアクション名の組合せ。

SERVICE_NAME

VARCHAR2(30)

SERVICE_NAME

クライアントが接続の確立に使用するサービス名。

151.4 DBMS_RESOURCE_MANAGERサブプログラムの要約

この表は、DBMS_RESOURCE_MANAGERサブプログラムを示し、簡単に説明しています。

表151-2 DBMS_RESOURCE_MANAGERパッケージのサブプログラム

サブプログラム 説明

BEGIN_SQL_BLOCKプロシージャ

リソース・マネージャによってグループとして扱われる必要のあるSQL文のブロックの開始を示します。

CALIBRATE_IOプロシージャ

ストレージのI/O機能を較正します。

CLEAR_PENDING_AREAプロシージャ

リソース・マネージャに対する作業領域をクリアします。

CREATE_CATEGORYプロシージャ

新規リソース・コンシューマ・グループ・カテゴリを作成します。

CREATE_CDB_PLANプロシージャ

統合リソース・プランを定義するエントリを作成します。

CREATE_CDB_PLAN_DIRECTIVEプロシージャ

統合リソース・プランのプラン・ディレクティブを作成します。

CREATE_CDB_PROFILE_DIRECTIVEプロシージャ

統合リソース・プランのパフォーマンス・プロファイル・ディレクティブを作成します。

CREATE_CONSUMER_GROUPプロシージャ

リソース・コンシューマ・グループを定義するエントリを作成します。

CREATE_PENDING_AREAプロシージャ

リソース・マネージャ・オブジェクトへの変更を行うための作業領域を作成します。

CREATE_PLANプロシージャ

リソース・プランを定義するエントリを作成します。

CREATE_PLAN_DIRECTIVEプロシージャ

リソース・プラン・ディレクティブを作成します。

CREATE_SIMPLE_PLANプロシージャ

最大8つのコンシューマ・グループが含まれた単一レベルのリソース・プランを1ステップで作成します。

DELETE_CATEGORYプロシージャ

既存のリソース・コンシューマ・グループ・カテゴリを削除します。

DELETE_CDB_PLANプロシージャ

統合リソース・プランを削除します。

DELETE_CDB_PLAN_DIRECTIVEプロシージャ

統合リソース・プランのプラン・ディレクティブを削除します。

DELETE_CDB_PROFILE_DIRECTIVEプロシージャ

統合リソース・プランのパフォーマンス・プロファイル・ディレクティブを削除します。

DELETE_CONSUMER_GROUPプロシージャ

リソース・コンシューマ・グループを定義するエントリを削除します。

DELETE_PLANプロシージャ

指定の計画およびそれが参照するすべてのプラン・ディレクティブを削除します。

DELETE_PLAN_CASCADEプロシージャ

指定の計画およびそのすべての子(プラン・ディレクティブ、サブプラン、コンシューマ・グループ)を削除します。

DELETE_PLAN_DIRECTIVEプロシージャ

リソース・プラン・ディレクティブを削除します。

DEQUEUE_PARALLEL_STATEMENTプロシージャ

パラレル・ステートメント・キューからパラレル・ステートメントをデキューします。

END_SQL_BLOCKプロシージャ

リソース・マネージャによってグループとして扱われる必要のあるSQL文のブロックの終了を示します。

SET_CONSUMER_GROUP_MAPPINGプロシージャ

ログイン属性およびランタイム属性のマッピングに使用するエントリを追加、削除または変更します。

SET_CONSUMER_GROUP_MAPPING_PRIプロシージャ

セッション属性マッピングの優先順位リストを作成します。

SET_INITIAL_CONSUMER_GROUPプロシージャ

ユーザーに対して、初期リソース・コンシューマ・グループを割り当てます。(注意: 推奨されないサブプログラム)

SUBMIT_PENDING_AREAプロシージャ

リソース・マネージャに対する保留中の変更を実行します。

SWITCH_CONSUMER_GROUP_FOR_SESSプロシージャ

指定のセッションのリソース・コンシューマ・グループを変更します。

SWITCH_CONSUMER_GROUP_FOR_USERプロシージャ

指定のユーザー名で、すべてのセッションのリソース・コンシューマ・グループを変更します。

SWITCH_PLANプロシージャ

現行のリソース・マネージャ・プランを設定します。

UPDATE_CATEGORYプロシージャ

既存のリソース・コンシューマ・グループ・カテゴリを更新します。

UPDATE_CDB_AUTOTASK_DIRECTIVEプロシージャ

自動化メンテナンス・タスクに関して、プラン・ディレクティブを更新します。

UPDATE_CDB_DEFAULT_DIRECTIVEプロシージャ

統合計画のデフォルト値を更新します。

UPDATE_CDB_PLANプロシージャ

統合リソース・プランを更新します。

UPDATE_CDB_PLAN_DIRECTIVEプロシージャ

統合リソース・プランのプラン・ディレクティブを更新します

UPDATE_CDB_PROFILE_DIRECTIVEプロシージャ

統合リソース・プランのパフォーマンス・プロファイル・ディレクティブを更新します。

UPDATE_CONSUMER_GROUPプロシージャ

リソース・コンシューマ・グループを定義するエントリを更新します。

UPDATE_PLANプロシージャ

リソース・プランを定義するエントリを更新します。

UPDATE_PLAN_DIRECTIVEプロシージャ

リソース・プラン・ディレクティブを更新します。

VALIDATE_PENDING_AREAプロシージャ

リソース・マネージャに対する保留中の変更を検証します。

151.4.1 BEGIN_SQL_BLOCKプロシージャ

このプロシージャは、パラレル・ステートメント・キューイングで使用され、リソース・マネージャによってグループとして扱われる必要のあるSQL文のブロックの開始を示します。

構文

DBMS_RESOURCE_MANAGER.BEGIN_SQL_BLOCK;

使用上のノート

詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』パラレル・ステートメント・キューイングに関する項およびリソース・マネージャによるパラレル・ステートメント・キューイングの管理に関する項を参照してください。

151.4.2 CALIBRATE_IOプロシージャ

このプロシージャは、ストレージのI/O機能を較正します。較正ステータスはV$IO_CALIBRATION_STATUSビューから利用可能であり、較正が正常に実行された場合、結果はDBA_RSRC_IO_CALIBRATE表に配置されます。

構文

DBMS_RESOURCE_MANAGER.CALIBRATE_IO (
   num_physical_disks      IN  PLS_INTEGER DEFAULT 1,
   max_latency             IN  PLS_INTEGER DEFAULT 20,
   max_iops                OUT PLS_INTEGER,
   max_mbps                OUT PLS_INTEGER,
   actual_latency          OUT PLS_INTEGER); 

パラメータ

表151-3 CALIBRATE_IOプロシージャのパラメータ

パラメータ 説明

num_physical_disks

データベース記憶域にある物理ディスクの概数。このパラメータは、較正を実行するときの初期I/Oにかかる負荷を指定するために使用されます。

max_latency

データベース・ブロック・サイズのIOリクエストの最大許容待機時間(ミリ秒)。

max_iops

維持できるI/Oリクエストの最大数(秒)。I/Oリクエストは、ランダムに分散されるデータベース・ブロック・サイズの読取りです。

max_mbps

維持できるI/Oスループットの最大数(MB/秒単位)。I/Oリクエストは、ランダムに分散される1MBの読取りです。

actual_latency

max_iops値でのデータベース・ブロック・サイズのI/Oリクエストの平均待機時間(ミリ秒)。

使用上のノート

  • このプロシージャは、SYSDBA権限を持つユーザーのみが実行できます。また、権限を持つユーザーは、timed_statisticsをオンにし、asynch_ioがデータファイルに対して有効になっていることを確認する必要もあります。この設定は、filesystemio_optionsASYNCHまたはSETALLのいずれかに設定することによって行うことができます。また、次のSQL文を使用して、asynch_ioステータスを問い合せることもできます。

    col name format a50
    SELECT name, asynch_io FROM v$datafile f,v$iostat_file i
      WHERE f.file#        = i.file_no
      AND   filetype_name  = 'Data File'
     /
    
  • 一度に実行できる較正は1つのみです。別の較正を同時に開始すると失敗します。

  • Oracle Real Application Clusters(Oracle RAC)データベースでは、ワークロードはすべてのインスタンスから同時に生成されます。

  • マルチテナント・コンテナ・データベース(CDB)では、CDBルート(CDB$ROOT)からのみ較正を実行できます。

  • 較正により、データベースのパフォーマンスは著しく低下します。較正は、データベースのパフォーマンスが大きく低下することをユーザーが許容できる場合にのみ実行することを強くお薦めします。

  • 最適な較正結果を得るには、他のデータベース・ワークロードを実行しないようにする必要があります。

参照:

較正の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

I/O較正プロシージャの使用例

SET SERVEROUTPUT ON
DECLARE
  lat  NUMBER;
  iops INTEGER;
  mbps INTEGER;
BEGIN
-- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (<DISKS>, <MAX_LATENCY>, iops, mbps, lat);
   DBMS_RESOURCE_MANAGER.CALIBRATE_IO (2, 10, iops, mbps, lat);
 
end;
/

I/O較正結果の表示

SQL> desc V$IO_CALIBRATION_STATUS
  Name                                      Null?    Type
  ----------------------------------------- -------- ----------------------------
  STATUS                                             VARCHAR2(13)
  CALIBRATION_TIME                                   TIMESTAMP(3)
 
SQL> desc gv$io_calibration_status
  Name                                      Null?    Type
  ----------------------------------------- -------- ----------------------------
  INST_ID                                            NUMBER
  STATUS                                             VARCHAR2(13)
  CALIBRATION_TIME                                   TIMESTAMP(3)
 
Column explanation:
-------------------
STATUS:
  IN PROGRESS   : Calibration in Progress (Results from previous calibration
                  run displayed, if available)
  READY         : Results ready and available from earlier run
  NOT AVAILABLE : Calibration results not available.
 
CALIBRATION_TIME: End time of the last calibration run

I/O較正結果を格納するDBA表

SQL> desc DBA_RSRC_IO_CALIBRATE
  Name                                      Null?    Type
  ----------------------------------------- -------- ----------------------------
  START_TIME                                         TIMESTAMP(6)
  END_TIME                                           TIMESTAMP(6)
  MAX_IOPS                                           NUMBER
  MAX_MBPS                                           NUMBER
  MAX_PMBPS                                          NUMBER
  LATENCY                                            NUMBER
  NUM_PHYSICAL_DISKS                                 NUMBER
 
comment on table DBA_RSRC_IO_CALIBRATE is
'Results of the most recent I/O calibration'
/
comment on column DBA_RSRC_IO_CALIBRATE.START_TIME is
'start time of the most recent I/O calibration'
/
comment on column DBA_RSRC_IO_CALIBRATE.END_TIME is
'end time of the most recent I/O calibration'
/
comment on column DBA_RSRC_IO_CALIBRATE.MAX_IOPS is
'maximum number of data-block read requests that can be sustained per second'
/
comment on column DBA_RSRC_IO_CALIBRATE.MAX_MBPS is
'maximum megabytes per second of maximum-sized read requests that can be
sustained'
/
comment on column DBA_RSRC_IO_CALIBRATE.MAX_PMBPS is
'maximum megabytes per second of large I/O requests that
can be sustained by a single process'
/
comment on column DBA_RSRC_IO_CALIBRATE.LATENCY is
'latency for data-block read requests'
/
comment on column DBA_RSRC_IO_CALIBRATE.NUM_PHYSICAL_DISKS is
'number of physical disks in the storage subsystem (as specified by user)'
/

151.4.3 CLEAR_PENDING_AREAプロシージャ

このプロシージャは、リソース・マネージャに対する保留中の変更内容をクリアします。

構文

DBMS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;

151.4.4 CREATE_CATEGORYプロシージャ

このプロシージャは、新しいコンシューマ・グループ・カテゴリを作成します。この属性の主な目的は、Exadata I/Oリソース・マネージャ・カテゴリ・プランをサポートすることです。

ビューDBA_RSRC_CATEGORIESは、現在定義されているカテゴリを定義します。ADMINISTRATIVEINTERACTIVEBATCHMAINTENANCEおよびOTHERの各カテゴリを利用できます。

構文

DBMS_RESOURCE_MANAGER.CREATE_CATEGORY (
   category    IN    VARCHAR2,
   comment     IN    VARCHAR2 DEFAULT NULL);

パラメータ

表151-4 CREATE_CATEGORYプロシージャのパラメータ

パラメータ 説明

category

コンシューマ・グループ・カテゴリの名前。

comment

ユーザー・コメント。

151.4.5 CREATE_CDB_PLANプロシージャ

統合リソース・プランを定義するエントリを作成します。

構文

DBMS_RESOURCE_MANAGER.CREATE_CDB_PLAN (
   plan                    IN    VARCHAR2(32), 
   comment                 IN    VARCHAR2(2000) DEFAULT NULL);

パラメータ

表151-5 CREATE_CDB_PLANプロシージャのパラメータ

パラメータ 説明

plan

統合計画の名前。

comment

ユーザー・コメント。

使用上のノート

このプロシージャは、CDBルート(CDB$ROOT)からのみ実行できます。

151.4.6 CREATE_CDB_PLAN_DIRECTIVEプロシージャ

このプロシージャは、統合リソース・プランのプラン・ディレクティブを作成します。プラン・ディレクティブでは、プラガブル・データベース(PDB)のリソース割当てポリシーを指定します。

構文

DBMS_RESOURCE_MANAGER.CREATE_CDB_PLAN_DIRECTIVE (
   plan                    IN    VARCHAR2, 
   pluggable_database      IN    VARCHAR2, 
   comment                 IN    VARCHAR2 (2000) DEFAULT '', 
   shares                  IN    NUMBER          DEFAULT NULL, 
   utilization_limit       IN    NUMBER          DEFAULT NULL, 
   parallel_server_limit   IN    NUMBER          DEFAULT NULL,
   memory_limit            IN    NUMBER          DEFAULT 100, 
   memory_min              IN    NUMBER          DEFAULT 0);

パラメータ

表151-6 CREATE_CDB_PLAN_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

plan

統合計画の名前。

pluggable_database

PDBの名前。

comment

ユーザー・コメント。

shares

PDBのリソース割当ての共有を指定します。各PDBにsharesを指定することで、CPU Resource ManagerおよびExadata I/Oリソース・マネージャを有効化します。また、パラレル・ステートメント・キューイングにはsharesパラメータを使用します。共有が指定されていない場合は、デフォルト・ディレクティブから、UPDATE_CDB_DEFAULT_DIRECTIVEプロシージャで指定されたデフォルトが取得されます。

utilization_limit

PDBが使用できるCDBのCPUおよびExadata I/Oリソースの最大割合を指定します。

PDBにCPU_COUNTパラメータを設定することで、CPU Resource ManagerおよびExadata I/Oリソース・マネージャを制限することもできます。

parallel_server_limit

パラレル・ステートメントがキューに入れられた後にPDBが使用できるパラレル・サーバー。または、PDBレベルでparallel_servers_targetを設定することもできます。

PDBは、CDBリソース・プランで指定されている制限より小さい制限をパラレル実行サーバーに設定できます。PARALLEL_SERVERS_TARGET初期化パラメータがPDBで設定されており、パラレル実行サーバー制限がCDBリソース・プランのPDBに指定されている場合は、小さい方の制限が使用されます。

たとえば、parallel_servers_target初期化パラメータが、CDBルートで100に設定され、parallel_server_limitが、CDBリソース・プランのhrpdbで70に設定されているとします。また、hrpdbparallel_servers_target初期化パラメータが50に設定されているとします。この場合、50の方が、hrpdbのCDBリソース・プラン制限の70よりも小さいため、hrpdbのパラレル実行サーバーの制限は50になります。

ノート:

CDBリソース・プランでは、parallel_servers_limitのかわりにparallel_servers_targetパラメータを使用することをお薦めします。

memory_limit

このパラメータは、Exadata Smart Flash CacheおよびExadata PMEMキャッシュを構成するためにOracle Exadataストレージにのみ適用できます。

memory_min

このパラメータは、Exadata Smart Flash CacheおよびExadata PMEMキャッシュを構成するためにOracle Exadataストレージにのみ適用できます。

使用上のノート

  • sharesutilization_limitおよびparallel_server_limitのデフォルト値はNULLです。ユーザーがNULLを指定するか、値を指定しなかった場合、デフォルト値が使用されます。

  • このプロシージャは、CDBルート(CDB$ROOT)からのみ実行できます。

151.4.7 CREATE_CDB_PROFILE_DIRECTIVEプロシージャ

このプロシージャは、統合リソース・プランのパフォーマンス・プロファイル・ディレクティブを作成します。ディレクティブでは、パフォーマンス・プロファイルを使用するプラガブル・データベース(PDB)のリソース割当てポリシーを指定します。

PDBで新規パフォーマンス・プロファイルを使用するには、PDBのDB_PERFORMANCE_PROFILE初期化パラメータがプロファイル名に設定されている必要があります。

このプロシージャは、同じリソース要件を持つ多数のPDBにディレクティブを指定する簡単な方法を提供します。DB_PERFORMANCE_PROFILE初期化パラメータがパフォーマンス・プロファイル名に設定された各PDBは、共有、使用率制限など、このディレクティブで指定された設定を継承します。

構文

DBMS_RESOURCE_MANAGER.CREATE_CDB_PROFILE_DIRECTIVE (
   plan                    IN    VARCHAR2, 
   profile                 IN    VARCHAR2,
   comment                 IN    VARCHAR2 (2000) DEFAULT '', 
   shares                  IN    NUMBER          DEFAULT NULL, 
   utilization_limit       IN    NUMBER          DEFAULT NULL, 
   parallel_server_limit   IN    NUMBER          DEFAULT NULL,
   memory_limit            IN    NUMBER          DEFAULT 100, 
   memory_min              IN    NUMBER          DEFAULT 0);

パラメータ

表151-7 CREATE_CDB_PROFILE_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

plan

統合計画の名前。

profile

パフォーマンス・プロファイルの名前。

comment

ユーザー・コメント。

shares

パフォーマンス・プロファイルを使用するPDBにリソース割当ての共有を指定します。各PDBにsharesを指定することで、CPU Resource ManagerおよびExadata I/Oリソース・マネージャを有効化します。また、パラレル・ステートメント・キューイングにはsharesパラメータを使用します。共有が指定されていない場合は、デフォルト・ディレクティブから、UPDATE_CDB_DEFAULT_DIRECTIVEプロシージャで指定されたデフォルトが取得されます。

utilization_limit

パフォーマンス・プロファイルを使用するPDBが使用できるCPU Resource ManagerおよびExadata I/Oリソース・マネージャの最大割合を指定します。

parallel_server_limit

パフォーマンス・プロファイルを使用するPDBで使用できるparallel_servers_targetパラレル・サーバーの最大割合を指定します。

memory_limit

このパラメータは、Exadata Smart Flash CacheおよびExadata PMEMキャッシュを構成するためにOracle Exadataストレージにのみ適用できます。

memory_min

このパラメータは、Exadata Smart Flash CacheおよびExadata PMEMキャッシュを構成するためにOracle Exadataストレージにのみ適用できます。

151.4.8 CREATE_CONSUMER_GROUPプロシージャ

このプロシージャは、リソース・コンシューマ・グループを定義するエントリを作成します。

構文

DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (
   consumer_group  IN VARCHAR2,
   comment         IN VARCHAR2 DEFAULT NULL, 
   cpu_mth         IN VARCHAR2 DEFAULT NULL,
   mgmt_mth        IN VARCHAR2 DEFAULT 'ROUND-ROBIN',
   category        IN VARCHAR2 DEFAULT 'OTHER'); 

パラメータ

表151-8 CREATE_CONSUMER_GROUPプロシージャのパラメータ

パラメータ 説明

consumer_group

コンシューマ・グループ名

comment

ユーザー・コメント。

cpu_mth

CPUリソース割当て方法の名前(非推奨)。

mgmt_mth

CPUリソース割当て方法の名前。

category

コンシューマ・グループのカテゴリを説明します。この属性の主な目的は、Exadata I/Oリソース・マネージャ・カテゴリ・プランをサポートすることです。ビューDBA_RSRC_CATEGORIESは、現在定義されているカテゴリを定義します。カテゴリは、CREATE_CATEGORYプロシージャUPDATE_CATEGORYプロシージャおよびDELETE_CATEGORYプロシージャを使用して、変更できます。

151.4.9 CREATE_PENDING_AREAプロシージャ

このプロシージャは、リソース・マネージャ・オブジェクトに変更を加えます。

プラン・スキーマへのすべての変更は、ペンディング・エリア内で行う必要があります。ペンディング・エリアは、プラン・スキーマを変更するためのスクラッチ領域とみなすことができます。管理者は、このペンディング・エリアを作成し、必要に応じて変更を加え、場合によってその変更を検証し、その実行が完了したときのみ、その変更内容がアクティブになります。

構文

DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA;

使用上のノート

ペンディング・エリアがアクティブな間は、変更された現行のプラン・スキーマを適切なユーザー・ビューから選択して、いつでも表示できます。

現行の変更を中止する場合は、いつでもペンディング・エリアをクリアできます。また、VALIDATEプロシージャをコールして、変更が有効になっているかどうかを確認できます。変更は、エントリ・グループの一貫性を維持するための指定の順序で実行する必要はありません。これらのチェックは、ペンディング・エリアが実行されるときにも暗黙的に行われます。

ノート:

Oracleでは、孤立したコンシューマ・グループ(つまり、そのコンシューマ・グループを参照するプラン・ディレクティブがないコンシューマ・グループ)が可能です。これは、現在は使用しないが将来使用するコンシューマ・グループを管理者があらかじめ作成できるようにするためです。

リソース・プランでは、次のルールを厳守してください。これらのルールは、VALIDATEまたはSUBMITプロシージャが実行されるたびにチェックされます。

  • プラン・スキーマにループがないこと。

  • プラン・ディレクティブが参照するすべての計画およびコンシューマ・グループがあること。

  • すべての計画に、計画またはコンシューマ・グループのいずれかを参照するプラン・ディレクティブがあること。

  • リソース割当て方法がEMPHASISの場合は、指定レベルでのパーセントの合計が100を超えないこと。

  • アクティブなインスタンスでトップレベルの計画として現在使用されている計画を削除しないこと。

  • プラン・ディレクティブのパラメータparallel_degree_limit_p1は、コンシューマ・グループ(つまり、サブプランではなく)を参照するプラン・ディレクティブでのみ表示されます。

  • 指定の計画でのプラン・ディレクティブが28を超えないこと(つまり、計画は29以上の子を持つことはできません)。

  • アクティブなプラン・スキーマ内のコンシューマ・グループが28を超えないこと。

  • 計画とコンシューマ・グループは同じネームスペースを使用するため、コンシューマ・グループと同じ名前の計画がないこと。

  • アクティブなプラン・スキーマ内にOTHER_GROUPSに対するプラン・ディレクティブがあること。これにより、現在アクティブな計画がカバーしていないセッションにOTHER_GROUPSディレクティブが指定したリソースが割り当てられます。

ノート:

これらのルールは、CDBリソース・プランには適用できません。

VALIDATEまたはSUBMITプロシージャによるチェック時に、前述のルールのいずれかに違反していると、それを通知するエラー・メッセージが戻されます。変更して1つ以上の問題を修正し、VALIDATEまたはSUBMITプロシージャを再発行できます。

151.4.10 CREATE_PLANプロシージャ

このプロシージャは、リソース・プランを定義するエントリを作成します。

構文

DBMS_RESOURCE_MANAGER.CREATE_PLAN (
   plan                       IN   VARCHAR2, 
   comment                    IN   VARCHAR2 DEFAULT NULL, 
   cpu_mth                    IN   VARCHAR2 DEFAULT NULL, -- deprecated
   active_sess_pool_mth       IN   VARCHAR2 DEFAULT 'ACTIVE_SESS_POOL_ABSOLUTE', 
   parallel_degree_limit_mth  IN   VARCHAR2 DEFAULT 
                                      'PARALLEL_DEGREE_LIMIT_ABSOLUTE',
   queueing_mth               IN   VARCHAR2 DEFAULT 'FIFO_TIMEOUT',
   mgmt_mth                   IN   VARCHAR2 DEFAULT 'EMPHASIS',
   sub_plan                   IN   BOOLEAN DEFAULT FALSE,
   max_iops                   IN   NUMBER DEFAULT NULL,
   max_mbps                   IN   NUMBER DEFAULT NULL);

パラメータ

表151-9 CREATE_PLANプロシージャのパラメータ

パラメータ 説明

plan

リソース・プランの名前。

comment

ユーザー・コメント。

cpu_mth

CPUリソース割当て方法(非推奨)。

active_sess_pool_mth

アクティブ・セッション・プールのリソース割当て方法。アクティブなセッションの数を制限します。他のセッションはすべて非アクティブになり、アクティブ化されるまでキューで待機します。デフォルトのACTIVE_SESS_POOL_ABSOLUTEは、選択できる唯一の方法です。

parallel_degree_limit_mth

任意の操作の並列度に制限を指定するためのリソース割当て方法。デフォルトのPARALLEL_DEGREE_LIMIT_ABSOLUTEは、選択できる唯一の方法です。

queueing_mth

キューイングのリソース割当て方法。キュー内で実行待ちになっている非アクティブなセッションを実行する順序を制御します。デフォルトのFIFO_TIMEOUTは、選択できる唯一の方法です。

mgmt_mth

コンシューマ・グループやサブ・プランがそれぞれ使用するリソース量(CPUやI/Oなど)を指定するためのリソース割当て方法。

  • EMPHASIS - コンシューマ・グループ間でのI/Oリソースの分散方法を指定する際にパーセントを使用する、マルチレベル・プランに向いています。

  • RATIO - I/Oリソースの分散方法を指定する際に比率を使用する、単一レベルの計画に向いています。

sub_plan

TRUEの場合、この計画はサブプランとしての使用のみを目的としていることを示します。サブプランは、OTHER_GROUPSディレクティブを持つ必要はありません。デフォルトはFALSEです。

max_iops

機能しません

max_mbps

機能しません

使用上のノート

デフォルトのリソース割当て方法を使用する場合は、計画の作成または更新時に方法を指定する必要はありません。

151.4.11 CREATE_PLAN_DIRECTIVEプロシージャ

このプロシージャは、リソース・プラン・ディレクティブを作成します。

ノート:

パラメータmax_utilization_limitparallel_target_percentageはOracle Database 11gリリース1 (11.1.0.1)で非推奨になっており、utilization_limitparallel_server_limitに置き換えられます。

構文

DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE (
   plan                         IN VARCHAR2, 
   group_or_subplan             IN VARCHAR2, 
   comment                      IN VARCHAR2 DEFAULT NULL, 
   cpu_p1                       IN NUMBER   DEFAULT NULL, -- deprecated
   cpu_p2                       IN NUMBER   DEFAULT NULL, -- deprecated
   cpu_p3                       IN NUMBER   DEFAULT NULL, -- deprecated
   cpu_p4                       IN NUMBER   DEFAULT NULL, -- deprecated
   cpu_p5                       IN NUMBER   DEFAULT NULL, -- deprecated
   cpu_p6                       IN NUMBER   DEFAULT NULL, -- deprecated
   cpu_p7                       IN NUMBER   DEFAULT NULL, -- deprecated
   cpu_p8                       IN NUMBER   DEFAULT NULL, -- deprecated
   active_sess_pool_p1          IN NUMBER   DEFAULT NULL,
   queueing_p1                  IN NUMBER   DEFAULT NULL,
   parallel_degree_limit_p1     IN NUMBER   DEFAULT NULL,
   switch_group                 IN VARCHAR2 DEFAULT NULL,
   switch_time                  IN NUMBER   DEFAULT NULL,
   switch_estimate              IN BOOLEAN  DEFAULT FALSE,
   max_est_exec_time            IN NUMBER   DEFAULT NULL,
   undo_pool                    IN NUMBER   DEFAULT NULL,
   max_idle_time                IN NUMBER   DEFAULT NULL,
   max_idle_blocker_time        IN NUMBER   DEFAULT NULL,
   switch_time_in_call          IN NUMBER   DEFAULT NULL, -- deprecated
   mgmt_p1                      IN NUMBER   DEFAULT NULL,
   mgmt_p2                      IN NUMBER   DEFAULT NULL,
   mgmt_p3                      IN NUMBER   DEFAULT NULL,
   mgmt_p4                      IN NUMBER   DEFAULT NULL,
   mgmt_p5                      IN NUMBER   DEFAULT NULL,
   mgmt_p6                      IN NUMBER   DEFAULT NULL,
   mgmt_p7                      IN NUMBER   DEFAULT NULL,
   mgmt_p8                      IN NUMBER   DEFAULT NULL,
   switch_io_megabytes          IN NUMBER   DEFAULT NULL,
   switch_io_reqs               IN NUMBER   DEFAULT NULL,
   switch_for_call              IN BOOLEAN  DEFAULT NULL,
   max_utilization_limit        IN NUMBER   DEFAULT NULL,  -- deprecated
   parallel_target_percentage   IN NUMBER   DEFAULT NULL,  -- deprecated 
   parallel_server_limit        IN NUMBER   DEFAULT NULL,
   utilization_limit            IN NUMBER   DEFAULT NULL,
   switch_io_logical            IN NUMBER   DEFAULT NULL,
   switch_elapsed_time          IN NUMBER   DEFAULT NULL,
   shares                       IN NUMBER   DEFAULT NULL,
   parallel_stmt_critical       IN VARCHAR2 DEFAULT NULL,
   session_pga_limit            IN NUMBER   DEFAULT NULL,
   pq_timeout_action            IN NUMBER   DEFAULT NULL,
   parallel_queue_timeout       IN NUMBER   DEFAULT NULL,);

ノート:

mgmt_p*のかわりにsharesを使用することをお薦めします。

パラメータ

表151-10 CREATE_PLAN_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

plan

リソース・プランの名前。

group_or_subplan

コンシューマ・グループの名前またはサブプランの名前。

comment

プラン・ディレクティブについてのコメント。

cpu_p1

--非推奨: かわりにmgmt_p1またはshares (推奨)を使用します

cpu_p2

--非推奨: かわりにmgmt_p2またはshares (推奨)を使用します

cpu_p3

--非推奨: かわりにmgmt_p3またはshares (推奨)を使用します

cpu_p4

--非推奨: かわりにmgmt_p4またはshares (推奨)を使用します

cpu_p5

--非推奨: かわりにmgmt_p5またはshares (推奨)を使用します

cpu_p6

--非推奨: かわりにmgmt_p6またはshares (推奨)を使用します

cpu_p7

--非推奨: かわりにmgmt_p7またはshares (推奨)を使用します

cpu_p8

--非推奨: かわりにmgmt_p8またはshares (推奨)を使用します

active_sess_pool_p1

現行でアクティブ・コールを含むことができるセッションの最大数を指定します。

queueing_p1

非アクティブ・セッション・キューにあるコール(実行待ち状態)がタイムアウトする時間(秒)を指定します。デフォルトのNULLは、無制限を意味します。

parallel_degree_limit_p1

任意の操作の並列度を制限します。デフォルトのNULLは、無制限を意味します。値が0の場合は、すべての操作がシリアルになります。

switch_group

切替え条件に達した場合に、切り替えるコンシューマ・グループを指定します。グループ名がCANCEL_SQLの場合は、切替え条件に達したときに現行のコールが取り消されます。グループ名がKILL_SESSIONの場合は、切替え条件に達したときにセッションが終了します。グループ名がLOG_ONLYの場合は、SQL監視でこのイベントを記録する以外のアクションは発生しません。デフォルトはNULLです。

switch_time

アクションを実行するまでのCPUでセッションを実行可能な時間(経過時間ではない)を指定します。デフォルトのNULLは、無制限を意味します。他のスイッチ・ディレクティブと同様、switch_for_callTRUEの場合、CPU数はコールの開始時点から累積されます。そうでない場合、CPU数は、セッションが継続している間累積されます。

switch_estimate

TRUEの場合は、実行前に、見積り実行時間が操作のコンシューマ・グループに自動的に切り換えられるようにOracleに指示します。これは、switch_timeディレクティブとともに使用されます。

デフォルト値はFALSEです。

max_est_exec_time

セッションに許可する実行時間(CPU秒)の最大値を指定します。操作時間がMAX_EST_EXEC_TIMEより長いとオプティマイザが判断した場合、その操作は開始されず、ORA-07455が発行されます。オプティマイザが判断しない場合は、このディレクティブの効果はありません。デフォルトのNULLは、無制限を意味します。

undo_pool

このコンシューマ・グループによってコミットされないトランザクションに対応するUNDOレコードのサイズをKB単位で制限します。

max_idle_time

セッションのアイドル時間の最大値を示します。デフォルトのNULLは、無制限を意味します。

max_idle_blocker_time

別のセッションのリソース取得をブロックしながら、セッションのアイドル状態を維持できる時間(秒)の最大値。

switch_time_in_call

非推奨。このパラメータを指定すると、switch_timeswitch_time_in_call (秒)に設定され、switch_for_callTRUEに設定されます。switch_timeおよびswitch_for_callを使用することをお薦めします。

mgmt_p1

レベル1のリソース割当て値(cpu_p1のかわり)。

  • EMPHASIS - リソースのパーセントを第1レベルに指定します。

  • RATIO - リソース使用率の重みを指定します。

mgmt_p2

レベル2のリソース割当て値(cpu_p2のかわり)。

  • EMPHASIS - リソースのパーセントを第2レベルに指定します。

  • RATIO - なし

mgmt_p3

レベル3のリソース割当て値(cpu_p3のかわり)。

  • EMPHASIS - リソースのパーセントを第3レベルに指定します。

  • RATIO - なし

mgmt_p4

レベル4のリソース割当て値(cpu_p4のかわり)。

  • EMPHASIS - リソースのパーセントを第4レベルに指定します。

  • RATIO - なし

mgmt_p5

レベル5のリソース割当て値(cpu_p5のかわり)。

  • EMPHASIS - リソースのパーセントを第5レベルに指定します。

  • RATIO - なし

mgmt_p6

レベル6のリソース割当て値(cpu_p6のかわり)。

  • EMPHASIS - リソースのパーセントを第6レベルに指定します。

  • RATIO - なし

mgmt_p7

レベル7のリソース割当て値(cpu_p7のかわり)。

  • EMPHASIS - リソースのパーセントを第7レベルに指定します。

  • RATIO - なし

mgmt_p8

レベル8のリソース割当て値(cpu_p8のかわり)。

  • EMPHASIS - リソースのパーセントを第8レベルに指定します。

  • RATIO - なし

switch_io_megabytes

アクションの実行前にセッションが発行できるI/Oの量(MB)を指定します。デフォルトのNULLは、無制限を意味します。他のスイッチ・ディレクティブと同様、switch_for_callTRUEの場合、CPU数はコールの開始時点から累積されます。そうでない場合、CPU数は、セッションが継続している間累積されます。

switch_io_reqs

アクションの実行前にセッションが発行できるI/Oリクエストの数を指定します。デフォルトのNULLは、無制限を意味します。他のスイッチ・ディレクティブと同様、switch_for_callTRUEの場合、CPU数はコールの開始時点から累積されます。そうでない場合、CPU数は、セッションが継続している間累積されます。

switch_for_call

switch_timeswitch_io_megabytesswitch_io_reqsswitch_io_logicalまたはswitch_elapsed_timeの各パラメータが原因となってアクションが実行される場合に、最初のコールが終了した時点で、コンシューマ・グループが元のコンシューマ・グループにリストアされるように指定します。デフォルト値のNULLは、最初のコールの終了時に元のコンシューマ・グループがリストアされないことを意味します。

max_utilization_limit

-- 非推奨: かわりにutilization_limitを使用。

parallel_target_percentage

-- 非推奨: かわりにparallel_sever_limitを使用。

parallel_queue_timeout

パラレル・ステートメントを、エラー(ORA-07454)によって削除および終了するまでにコンシューマ・グループのパラレル・ステートメント・キューに残しておく時間(秒)を指定します。

ノート:

pq_timeout_actionパラメータを使用して、パラレル・ステートメントがキューから削除されたときに実行するアクションを指定できます。

parallel_sever_limit

パラレル・ステートメントがキューに入れられた後に、コンシューマ・グループが使用できるparallel_servers_targetパラレル・サーバーの最大割合を指定します。

utilization_limit

リソース制限。現在は、Exadataに対するCPUとI/Oが含まれます。

CPUの場合は、これにより、コンシューマ・グループのCPUの使用を制限します。

Exadata I/Oの場合は、これにより、コンシューマ・グループのディスク使用を制限します。

これは、パラレル・サーバーには適用されません。

switch_io_logical

switch_groupによって指定されたアクションをトリガーする論理IOの数。他のスイッチ・ディレクティブと同様、switch_for_callTRUEの場合、論理IOの数はコールの開始時点から累積されます。そうでない場合、論理I/O数はセッションの間累積される。

switch_elapsed_time

switch_groupによって指定されたアクションがトリガーされるまでの経過時間。他のスイッチ・ディレクティブと同様、switch_for_callTRUEの場合、経過時間はコールの開始時点から累積されます。そうでない場合、経過時間はセッションの間累積される。

shares

コンシューマ・グループのリソース割当ての共有を指定します。各コンシューマ・グループにsharesを指定することで、CPU Resource ManagerおよびExadata I/Oリソース・マネージャを有効化します。また、パラレル・ステートメント・キューイングにはsharesパラメータを使用します。CPU Resource ManagerおよびExadata I/Oリソース・マネージャを有効化する場合、デフォルト値は1です。

parallel_stmt_critical

BYPASS_QUEUEに設定されている場合は、PARALLEL_DEGREE_POLICYパラメータ値に関係なく、コンシューマ・グループのパラレル・ステートメントはキューに入れられません。

QUEUEに設定されている場合は、parallel_degree_policyパラメータ値に関係なく、コンシューマ・グループのすべてのパラレル・ステートメントをキューに入れることができます。

デフォルトはFALSEです(parallel_degree_policyパラメータ値に基づいて、パラレル・ステートメントをキューに入れることができます)。

session_pga_limit

このコンシューマ・グループのセッションが終了する前に割当て可能な、チューニングできないPGAの最大量(MB)。NULL (デフォルト)は、制限がないことを示します。

チューニング可能なPGAを割り当てるSQL操作(一時領域の使用を選択できる操作)は、この制限によって制御されません。

pq_timeout_action

parallel_queue_timeoutによってパラレル・ステートメントがキューから削除されたときに実行するアクションを指定します。

値は次のとおりです。

  • CANCEL — パラレル・ステートメントは、エラーORA-7454により終了します

  • RUN — パラレル・サーバーが使用できない場合、SQL文がすぐに実行され、ダウングレードされる可能性があります

このパラメータのデフォルトのアクションは、CANCELです。

使用上のノート

  • すべてのパラメータは、NULLにデフォルト設定されます。

  • max_idle_timeおよびmax_idle_blocker_timeに指定された制限値については、PMONが1分に1回確認します。いずれかの制限を超過したセッションが見つかると、そのセッションは強制終了され、すべての状態がクリーン・アップされます。

  • 中間層サーバーでセッション・プーリングの実装が行われている3層アプリケーションでは、ほとんどの場合にパラメータswitch_for_callが有効です。switch_for_callを使用することで、あるクライアントのリソース使用率によって、同じセッションで偶発的に実行されたそれ以降のクライアントに影響を与えることがなくなります。

  • PQ_TIMEOUT_ACTIONが指定されていて、PARALLEL_QUEUE_TIMEOUTが指定されていない場合は、エラーがスローされます。

  • パラレル・ステートメントがキューから削除されたときに実行するアクションを指定します。

151.4.12 CREATE_SIMPLE_PLANプロシージャ

このプロシージャでは、最大8つのコンシューマ・グループが含まれた単一レベルのリソース・プランを1ステップで作成します。リソース・プランの作成前にペンディング・エリアを手動で作成したり、CREATE_CONSUMER_GROUPプロシージャおよびCREATE_RESOURCE_PLAN_DIRECTIVESプロシージャを個別に使用する必要がありません。

構文

DBMS_RESOURCE_MANAGER.CREATE_SIMPLE_PLAN (
   simple_plan      IN  VARCHAR2  DEFAULT NULL,
   consumer_group1  IN  VARCHAR2  DEFAULT NULL,
   group1_cpu       IN  NUMBER    DEFAULT NULL,   -- deprecated
   consumer_group2  IN  VARCHAR2  DEFAULT NULL,
   group2_cpu       IN  NUMBER    DEFAULT NULL,   -- deprecated
   consumer_group3  IN  VARCHAR2  DEFAULT NULL,
   group3_cpu       IN  NUMBER    DEFAULT NULL,   -- deprecated
   consumer_group4  IN  VARCHAR2  DEFAULT NULL,
   group4_cpu       IN  NUMBER    DEFAULT NULL,   -- deprecated
   consumer_group5  IN  VARCHAR2  DEFAULT NULL,
   group5_cpu       IN  NUMBER    DEFAULT NULL,   -- deprecated
   consumer_group6  IN  VARCHAR2  DEFAULT NULL,
   group6_cpu       IN  NUMBER    DEFAULT NULL,   -- deprecated
   consumer_group7  IN  VARCHAR2  DEFAULT NULL,
   group7_cpu       IN  NUMBER    DEFAULT NULL,   -- deprecated
   consumer_group8  IN  VARCHAR2  DEFAULT NULL,
   group8_cpu       IN  NUMBER    DEFAULT NULL,   -- deprecated
   group1_percent   IN  NUMBER    DEFAULT NULL,
   group2_percent   IN  NUMBER    DEFAULT NULL,
   group3_percent   IN  NUMBER    DEFAULT NULL,
   group4_percent   IN  NUMBER    DEFAULT NULL,
   group5_percent   IN  NUMBER    DEFAULT NULL,
   group6_percent   IN  NUMBER    DEFAULT NULL,
   group7_percent   IN  NUMBER    DEFAULT NULL,
   group8_percent   IN  NUMBER    DEFAULT NULL);

パラメータ

表151-11 CREATE_SIMPLE_PLANプロシージャのパラメータ

パラメータ 説明

simple_plan

リソース・プランの名前。

consumer_group1

コンシューマ・グループ名

group1_cpu

グループのパーセント(非推奨)。

consumer_group2

コンシューマ・グループ名

group2_cpu

グループのパーセント(非推奨)。

consumer_group3

コンシューマ・グループ名

group3_cpu

グループのパーセント(非推奨)。

consumer_group4

コンシューマ・グループ名

group4_cpu

グループのパーセント(非推奨)。

consumer_group5

コンシューマ・グループ名

group5_cpu

グループのパーセント(非推奨)。

consumer_group6

コンシューマ・グループ名

group6_cpu

グループのパーセント(非推奨)。

consumer_group7

コンシューマ・グループ名

group7_cpu

グループのパーセント(非推奨)。

consumer_group8

OTHER_GROUPS - コンシューマ・グループにマップされていないすべてのセッション。

group8_cpu

グループのパーセント(非推奨)。

group1_percent

このコンシューマ・グループに割り当てられたリソースのパーセント。

group2_percent

このコンシューマ・グループに割り当てられたリソースのパーセント。

group3_percent

このコンシューマ・グループに割り当てられたリソースのパーセント。

group4_percent

このコンシューマ・グループに割り当てられたリソースのパーセント。

group5_percent

このコンシューマ・グループに割り当てられたリソースのパーセント。

group6_percent

このコンシューマ・グループに割り当てられたリソースのパーセント。

group7_percent

このコンシューマ・グループに割り当てられたリソースのパーセント。

group8_percent

他のグループに割り当てられるリソースの割合。

151.4.13 DELETE_CATEGORYプロシージャ

このプロシージャは、既存のリソース・コンシューマ・グループ・カテゴリを削除します。

構文

DBMS_RESOURCE_MANAGER.DELETE_CATEGORY (
   category        IN    VARCHAR2);

パラメータ

表151-12 DELETE_CATEGORYプロシージャのパラメータ

パラメータ 説明

category

コンシューマ・グループ・カテゴリの名前。

151.4.14 DELETE_CDB_PLANプロシージャ

このプロシージャは、統合リソース・プランを削除します。

構文

DBMS_RESOURCE_MANAGER.DELETE_CDB_PLAN (
   plan    IN    VARCHAR2(32)   DEFAULT NULL);

パラメータ

表151-13 DELETE_CDB_PLANプロシージャのパラメータ

パラメータ 説明

plan

統合計画の名前。

使用上のノート

このプロシージャは、CDBルート(CDB$ROOT)からのみ実行できます。

151.4.15 DELETE_CDB_PLAN_DIRECTIVEプロシージャ

このプロシージャは、統合リソース・プランのプラン・ディレクティブを削除します。プラン・ディレクティブを削除すると、プラガブル・データベースにはデフォルトのリソース割当てが使用されます。

構文

DBMS_RESOURCE_MANAGER.DELETE_CDB_PLAN_DIRECTIVE (
   plan                    IN    VARCHAR2(32)   DEFAULT NULL,
   pluggable_database      IN    VARCHAR2(32)   DEFAULT NULL);

パラメータ

表151-14 DELETE_CDB_PLAN_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

plan

統合計画の名前。

pluggable_database

プラン・ディレクティブを削除するプラガブル・データベースの名前。

使用上のノート

このプロシージャは、CDBルート(CDB$ROOT)からのみ実行できます。

151.4.16 DELETE_CDB_PROFILE_DIRECTIVEプロシージャ

このプロシージャは、統合リソース・プランのパフォーマンス・プロファイル・ディレクティブを削除します。ディレクティブが削除されると、パフォーマンス・プロファイルを使用するプラガブル・データベース(PDB)ではデフォルトのリソース割当てを使用するようになります。

PDBでパフォーマンス・プロファイルを使用するには、PDBのDB_PERFORMANCE_PROFILE初期化パラメータがパフォーマンス・プロファイル名に設定されている必要があります。

構文

DBMS_RESOURCE_MANAGER.DELETE_CDB_PROFILE_DIRECTIVE (
   plan          IN    VARCHAR2(32)   DEFAULT NULL,
   profile       IN    VARCHAR2(32)   DEFAULT NULL);

パラメータ

表151-15 DELETE_CDB_PROFILE_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

plan

統合計画の名前。

profile

削除するパフォーマンス・プロファイル・ディレクティブの名前。

使用上のノート

このプロシージャは、CDBルート(CDB$ROOT)からのみ実行できます。

151.4.17 DELETE_CONSUMER_GROUPプロシージャ

このプロシージャは、リソース・コンシューマ・グループを定義するエントリを削除します。

構文

DBMS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
   consumer_group IN VARCHAR2); 

パラメータ

表151-16 DELETE_CONSUMER_GROUPプロシージャのパラメータ

パラメータ 説明

consumer_group

削除されるコンシューマ・グループの名前。

151.4.18 DELETE_PLANプロシージャ

このプロシージャは、指定の計画およびそれが参照するすべてのプラン・ディレクティブを削除します。

構文

DBMS_RESOURCE_MANAGER.DELETE_PLAN (
   plan IN VARCHAR2); 

パラメータ

表151-17 DELETE_PLANプロシージャのパラメータ

パラメータ 説明

plan

削除するリソース・プランの名前。

151.4.19 DELETE_PLAN_CASCADEプロシージャ

このプロシージャは、指定の計画およびそのすべての子(プラン・ディレクティブ、サブプラン、コンシューマ・グループ)を削除します。必須オブジェクトおよび必須ディレクティブは削除されません。

構文

DBMS_RESOURCE_MANAGER.DELETE_PLAN_CASCADE (
   plan IN VARCHAR2); 

パラメータ

表151-18 DELETE_PLAN_CASCADEプロシージャのパラメータ

パラメータ 説明

plan

計画の名前。

使用上のノート

DELETE_PLAN_CASCADEプロシージャでエラーが発生した場合は、操作がロールバックされるため、何も削除されません。

151.4.20 DELETE_PLAN_DIRECTIVEプロシージャ

このプロシージャは、リソース・プラン・ディレクティブを削除します。

構文

DBMS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
   plan              IN VARCHAR2, 
   group_or_subplan  IN VARCHAR2);

パラメータ

表151-19 DELETE_PLAN_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

plan

リソース・プランの名前。

group_or_subplan

グループまたはサブプランの名前。

151.4.21 DEQUEUE_PARALLEL_STATEMENTプロシージャ

このプロシージャは、パラレル・ステートメント・キューからパラレル・ステートメントをデキューします。

PARALLEL_DEGREE_POLICY初期化パラメータがAUTOまたはADAPTIVEに設定されている場合、パラレル・ステートメント・キューイングは有効です。パラレル・ステートメントがパラレル・ステートメント・キュー内にある場合、即座に実行されるように、このプロシージャを使用してパラレル・ステートメントをデキューできます。

構文

DBMS_RESOURCE_MANAGER.DEQUEUE_PARALLEL_STATEMENT (
   session_id      IN  PLS_INTEGER,
   session_serial  IN  PLS_INTEGER,
   inst_id         IN  PLS_INTEGER  DEFAULT NULL,
   sql_id          IN  VARCHAR2 DEFAULT NULL); 

パラメータ

表151-20 DEQUEUE_PARALLEL_STATEMENTプロシージャのパラメータ

パラメータ 説明

session_id

デキューするパラレル・ステートメントを実行しているセッションのセッションID。

session_serial

セッションのシリアル番号。

inst_id

セッションが実行されているインスタンスのインスタンスID。

NULLの場合、現行のインスタンスが使用されます。

sql_id

デキューするセッションの文のSQL ID。セッションで異なるSQL IDのSQLが実行されている場合、文はデキューされません。

151.4.22 END_SQL_BLOCKプロシージャ

このプロシージャは、パラレル・ステートメント・キューイングで使用され、リソース・マネージャによってグループとして扱われる必要のあるSQL文のブロックの終了を示します。

構文

DBMS_RESOURCE_MANAGER.END_SQL_BLOCK;

使用上のノート

詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』パラレル・ステートメント・キューイングに関する項およびリソース・マネージャによるパラレル・ステートメント・キューイングの管理に関する項を参照してください。

151.4.23 SET_CONSUMER_GROUP_MAPPINGプロシージャ

このプロシージャは、セッションのログイン属性およびランタイム属性に基づいて、セッションをコンシューマ・グループにマップするエントリを追加、削除または変更します。

構文

DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
   attribute        IN VARCHAR2, 
   value            IN VARCHAR2, 
   consumer_group   IN VARCHAR2 DEFAULT NULL); 

パラメータ

表151-21 SET_CONSUMER_GROUP_MAPPINGプロシージャのパラメータ

パラメータ 説明

attribute

追加または変更するマッピング属性。リストされている定数の1つを指定します。

value

一致させる属性値。これには、絶対マッピングと正規表現の両方が含まれます。

consumer_group

マップされたコンシューマ・グループの名前。マッピングを削除する場合はNULLを指定します。

使用上のノート

  • 指定された属性および値に対するマッピングが存在しない場合は、指定されたコンシューマ・グループへのマッピングが作成されます。指定された属性および値に対するマッピングがすでに存在する場合、マッピング先のコンシューマ・グループは、指定された属性および値を持つコンシューマ・グループに更新されます。consumer_group引数がNULLの場合は、指定された属性および値からのマッピングがすべて削除されます。

  • このサブプログラムでは、valueパラメータ用の単純な正規表現がサポートされています。SQLの'LIKE'演算子と同じセマンティクスを実装します。具体的には、複数文字のワイルドカードとして'%'、単一文字のワイルドカードとして'_'が使用されます。'\'文字を使用して、ワイルドカードをエスケープできます。属性が次のいずれかの場合にのみ、ワイルドカードを使用できることに注意してください。

    • CLIENT_OS_USER

    • CLIENT_PROGRAM

    • CLIENT_MACHINE

    • MODULE_NAME

    • MODULE_NAME_ACTION

    • SERVICE_MODULE

    • SERVICE_MODULE_ACTION

  • DBMS_RESOURCE_MANAGER.CLIENT_PROGRAMのコンシューマ・グループ・マッピング比較を実行する際に、指定されたCLIENT_PROGRAM値との比較前に@記号とそれ以降の文字がV$SESSION.PROGRAMから除去されます。

151.4.24 SET_CONSUMER_GROUP_MAPPING_PRIプロシージャ

1つのセッションが持つ複数の属性を使用して、セッションをコンシューマ・グループにマップできます。このプロシージャでは、属性のマッピングにおける優先順位を指定します。

構文

DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING_PRI(
   explicit               IN NUMBER, 
   oracle_user            IN NUMBER, 
   service_name           IN NUMBER, 
   client_os_user         IN NUMBER, 
   client_program         IN NUMBER, 
   client_machine         IN NUMBER, 
   module_name            IN NUMBER, 
   module_name_action     IN NUMBER,
   service_module         IN NUMBER,
   service_module_action  IN NUMBER,
   client_id              IN NUMBER DEFAULT 11);

パラメータ

表151-22 SET_CONSUMER_GROUP_MAPPING_PRIプロシージャのパラメータ

パラメータ 説明

explicit

明示的マッピングの優先順位。

oracle_user

Oracleユーザー名のマッピングの優先順位。

service_name

クライアント・サービス名のマッピングの優先順位。

client_os_user

クライアント・オペレーティング・システムのユーザー名のマッピングの優先順位。

client_program

クライアント・プログラムのマッピングの優先順位。

client_machine

クライアント・マシンのマッピングの優先順位。

module_name

アプリケーション・モジュール名のマッピングの優先順位。

module_name_action

アプリケーション・モジュール名およびアプリケーション・アクションのマッピングの優先順位。

service_module

サービス名およびアプリケーション・モジュール名のマッピングの優先順位。

module_name_action

サービス名、アプリケーション・モジュール名およびアプリケーション・アクションのマッピングの優先順位。

client_id

クライアント識別子。

使用上のノート

  • このプロシージャには、引数として擬似属性explicitを含める必要があります。これは、1に設定する必要があります。これは、明示的なコンシューマ・グループの切替えに最も高い優先度が指定されていることを示します。次のパッケージ・プロシージャを使用して、コンシューマ・グループを明示的に切り替えます。

    • DBMS_SESSION.SWITCH_CURRENT_CONSUMER_GROUP

    • DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_SESS

    • DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_USER

  • 優先順位を指定する値は、それぞれ1から11の一意の整数にしてください。優先順位1から11を使用する場合、優先順位が最も高いのは1、最も低いのは10です。

151.4.25 SET_INITIAL_CONSUMER_GROUPプロシージャ

この推奨されないプロシージャは、ユーザーに対して、初期のリソース・コンシューマ・グループを設定します。

ユーザーの初期コンシューマ・グループは、そのユーザーが作成したセッションが最初に所属しているコンシューマ・グループです。

ノート:

11g リリース1では、このプロシージャの使用は推奨されていません。このパッケージでこのプロシージャを使用することはできますが、初期コンシューマ・グループは、セッションとコンシューマ間のグループのマッピング・ルールによって設定されます。

構文

DBMS_RESOURCE_MANAGER.SET_INITIAL_CONSUMER_GROUP (
   user             IN   VARCHAR2, 
   consumer_group   IN   VARCHAR2);

パラメータ

表151-23 SET_INITIAL_CONSUMER_GROUPプロシージャのパラメータ

パラメータ 説明

user

ユーザー名

consumer_group

ユーザーの初期コンシューマ・グループ。

使用上のノート

  • このプロシージャを実行するためには、ADMINISTER_RESOURCE_MANAGERまたはALTER USERシステム権限が必要です。ユーザーの初期コンシューマ・グループが設定される前に、ユーザーまたはPUBLICに対して、コンシューマ・グループへの切替え権限が直接付与されている必要があります。初期コンシューマ・グループに対する切替え権限は、そのユーザーに付与されているロールから与えることはできません。

    ノート:

    この方法は、ALTER USER DEFAULT ROLEに対する方法に類似しています。

  • ユーザーの初期コンシューマ・グループが設定されていない場合は、自動的にDEFAULT_CONSUMER_GROUPがコンシューマ・グループになります。

  • DEFAULT_CONSUMER_GROUPPUBLICに付与された切替え権限を持つため、すべてのユーザーはこのコンシューマ・グループに対する切替え権限を自動的に付与されます。コンシューマ・グループを削除するとき、削除するグループを初期コンシューマ・グループとしていたすべてのユーザーは、DEFAULT_CONSUMER_GROUPを初期コンシューマ・グループとします。削除するコンシューマ・グループに所属している現行のアクティブなセッションは、すべてDEFAULT_CONSUMER_GROUPに切り替えられます。

151.4.26 SUBMIT_PENDING_AREAプロシージャ

このプロシージャは、リソース・マネージャに対する保留中の変更を発行します。変更を検証してコミットした後(この変更が有効な場合)、ペンディング・エリアをクリアします。

ノート:

SUBMIT_PENDING_AREAへのコールは、VALIDATE_PENDING_AREAが成功していても失敗する場合があります。これは、VALIDATE_PENDING_AREAをコールした後に、削除中の計画がインスタンスによってSUBMIT_PENDING_AREAをコールするまでにロードされてしまうことが原因です。

構文

DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;

151.4.27 SWITCH_CONSUMER_GROUP_FOR_SESSプロシージャ

このプロシージャは、指定のセッションのリソース・コンシューマ・グループを変更します。また、上位ユーザー・セッションに関連するすべてのパラレル実行サーバーのコンシューマ・グループも変更します。このプロシージャはRACインスタンス固有です。切り替えるセッションが実行されているのと同じRACインスタンスのPDBに接続してから、このプロシージャを実行する必要があります。

構文

DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_SESS (
   session_id      IN NUMBER, 
   session_serial  IN NUMBER, 
   consumer_group  IN VARCHAR2);

パラメータ

表151-24 SWITCH_CONSUMER_GROUP_FOR_SESSプロシージャのパラメータ

パラメータ 説明

session_id

ビューV$SESSIONでのSID列。

session_serial

ビューV$SESSIONでのSERIAL#列。

consumer_group

切替え先となるコンシューマ・グループの名前。

151.4.28 SWITCH_CONSUMER_GROUP_FOR_USERプロシージャ

このプロシージャは、指定のユーザーIDで、すべてのセッションのリソース・コンシューマ・グループを変更します。また、上位ユーザー・セッションに関連するすべてのパラレル実行サーバーのコンシューマ・グループも変更します。

構文

DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_USER (
   user            IN VARCHAR2, 
   consumer_group  IN VARCHAR2);

パラメータ

表151-25 SWITCH_CONSUMER_GROUP_FOR_USERプロシージャのパラメータ

パラメータ 説明

user

ユーザー名

consumer_group

切替え先となるコンシューマ・グループの名前。

使用上のノート

  • SWITCH_CONSUMER_GROUP_FOR_SESSプロシージャおよびSWITCH_CONSUMER_GROUP_FOR_USERプロシージャは、特定のセッションまたはユーザーのCPUリソース割当てを増減します。これにより、UNIXのniceコマンドと類似した機能性が提供されます。

  • これらのプロシージャは、新規に指定されたコンシューマ・グループにセッションを即時に移動します。

151.4.29 SWITCH_PLANプロシージャ

このプロシージャは、現行のリソース・マネージャ・プランを設定します。

構文

DBMS_RESOURCE_MANAGER.SWITCH_PLAN(
   plan_name                     IN   VARCHAR2,
   sid                           IN   VARCHAR2 DEFAULT '*',
   allow_scheduler_plan_switches IN   BOOLEAN DEFAULT TRUE);

パラメータ

表151-26 SWITCH_PLANプロシージャのパラメータ

パラメータ 説明

plan_name

切替え先となる計画の名前。plan_nameに空の文字列('')を渡すと、リソース・マネージャは無効になります。

sid

sidパラメータを使用できるのは、Oracle Real Application Clusters環境のみです。このパラメータにより、計画を特定のインスタンスに対して変更できます。計画を変更するインスタンスのsidを指定します。また、すべてのインスタンスに対して計画を変更する場合は、'*'を指定してください。

allow_scheduler_plan_switches

FALSEに設定すると、ウィンドウ境界でのジョブ・スケジューラによる計画の自動切替えが無効になります。計画の自動切替えを再度有効にするには、管理者がallow_scheduler_plan_switchesTRUEに設定して、switch_planを再度コールする必要があります。デフォルトでは、ジョブ・スケジューラによる計画の自動切替えは有効になっています。

151.4.30 UPDATE_CATEGORYプロシージャ

このプロシージャは、既存のリソース・コンシューマ・グループ・カテゴリを更新します。

構文

DBMS_RESOURCE_MANAGER.UPDATE_CATEGORY (
   category        IN    VARCHAR2,
   new_comment     IN    VARCHAR2  DEFAULT NULL);

パラメータ

表151-27 UPDATE_CATEGORYプロシージャのパラメータ

パラメータ 説明

category

コンシューマ・グループ・カテゴリの名前。

new_comment

ユーザー・コメント。

使用上のノート

クリア(ディレクティブのデフォルト値にリセット)するには、値-1を使用します。

151.4.31 UPDATE_CDB_AUTOTASK_DIRECTIVEプロシージャ

このプロシージャは、CDBルート(CDB$ROOT)内の自動化メンテナンス・タスクに関してプラン・ディレクティブを更新します。

デフォルトでは、すべてのメンテナンス・タスクがPDB自体で直接に発生します。

構文

DBMS_RESOURCE_MANAGER.UPDATE_CDB_AUTOTASK_DIRECTIVE (
   plan                        IN    VARCHAR2, 
   new_comment                 IN    VARCHAR2       DEFAULT NULL, 
   new_shares                  IN    NUMBER         DEFAULT NULL, 
   new_utilization_limit       IN    NUMBER         DEFAULT NULL, 
   new_parallel_server_limit   IN    NUMBER         DEFAULT NULL,
   new_memory_limit            IN    NUMBER         DEFAULT NULL,   
   new_memory_min              IN    NUMBER         DEFAULT NULL);

パラメータ

表151-28 UPDATE_CDB_AUTOTASK_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

plan

統合計画の名前。

new_comment

新しいユーザー・コメント。

new_shares

CDBルートの自動化メンテナンス・タスクに新しいリソース割当ての共有を指定します。

new_utilization_limit

CDBルート内の自動化メンテナンス・タスクで使用可能なCPUの最大割合を新規に指定します。

new_parallel_server_limit

CDBルート内の自動化メンテナンス・タスクで使用できるparallel_servers_targetパラレル・サーバーの最大割合を新規に指定します。

new_memory_limit

このパラメータは、Database Smart Flash CacheおよびPMEMキャッシュを構成するためのOracle Exadataストレージにのみ適用できます。

new_memory_min

このパラメータは、Database Smart Flash CacheおよびPMEMキャッシュを構成するためのOracle Exadataストレージにのみ適用できます。

使用上のノート

  • 自動化メンテナンス・タスクのデフォルト値は、次のとおりです。

    • shares: -1

    • utilization_limit: 90

    • parallel_server_limit: 100

  • shares = -1は、自動化メンテナンス・タスクにシステムの20%が割り当てられることを意味します。ユーザーがsharesを指定した場合、他のCDBプラン・ディレクティブ・ファンクションのプロパティと同じように動作します。ユーザーがsharesを変更しない場合、または後で-1に戻した場合、自動化タスクにシステムの20%が割り当てられます。

  • このプロシージャは、CDBルートからのみ実行できます。

  • クリア(ディレクティブのデフォルト値にリセット)するには、値-1を使用します。

151.4.32 UPDATE_CDB_DEFAULT_DIRECTIVEプロシージャ

このプロシージャは、統合リソース・プランのプラン・ディレクティブを更新します。

構文

DBMS_RESOURCE_MANAGER.UPDATE_CDB_DEFAULT_DIRECTIVE (
   plan                        IN    VARCHAR2    DEFAULT NULL, 
   new_comment                 IN    VARCHAR2    DEFAULT NULL, 
   new_shares                  IN    NUMBER      DEFAULT NULL, 
   new_utilization_limit       IN    NUMBER      DEFAULT NULL, 
   new_parallel_server_limit   IN    NUMBER      DEFAULT NULL,
   new_memory_limit            IN    NUMBER      DEFAULT NULL,      
   new_memory_min              IN    NUMBER      DEFAULT NULL);

パラメータ

表151-29 UPDATE_CDB_DEFAULT_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

plan

統合計画の名前。

new_commnent

新しいユーザー・コメント。

new_shares

プラガブル・データベースのリソース割当ての共有を指定します。各PDBにsharesを指定することで、CPU Resource ManagerおよびExadata I/Oリソース・マネージャを有効化します。また、パラレル・ステートメント・キューイングにはnew_sharesパラメータも使用します。

new_utilization_limit

プラガブル・データベースで使用できるCPUの最大割合を指定します。

new_parallel_server_limit

プラガブル・データベースで使用できるparallel_servers_targetパラレル・サーバーの最大割合を指定します。

new_memory_limit

このパラメータは、Database Smart Flash CacheおよびPMEMキャッシュを構成するためのOracle Exadataストレージにのみ適用できます。

new_memory_min

このパラメータは、Database Smart Flash CacheおよびPMEMキャッシュを構成するためのOracle Exadataストレージにのみ適用できます。

使用上のノート

  • デフォルト値は、次のとおりです。

    • new_shares: 1

    • utilization_limit: 100

    • parallel_server_limit: 100

  • デフォルト値がNULLであることに注意してください。これは、UPDATE_CDB_PLAN_DIRECTIVEプロシージャの場合と同じ意味になります。ユーザーが値を指定しなかった場合、その値は変更されません。

  • このプロシージャは、CDBルート(CDB$ROOT)からのみ実行できます。

  • クリア(ディレクティブのデフォルト値にリセット)するには、値-1を使用します。

151.4.33 UPDATE_CDB_PLANプロシージャ

このプロシージャは、統合リソース・プランを更新します。

構文

DBMS_RESOURCE_MANAGER.UPDATE_CDB_PLAN (
   plan                        IN    VARCHAR2(32), 
   new_comment                 IN    VARCHAR2(2000)   DEFAULT NULL);

パラメータ

表151-30 UPDATE_CDB_PLANプロシージャのパラメータ

パラメータ 説明

plan

統合計画の名前。

new_comment

ユーザー・コメント。

使用上のノート

  • このプロシージャは、CDBルート(CDB$ROOT)からのみ実行できます。

  • クリア(ディレクティブのデフォルト値にリセット)するには、値-1を使用します。

151.4.34 UPDATE_CDB_PLAN_DIRECTIVEプロシージャ

統合リソース・プランのプラン・ディレクティブを更新します。プラン・ディレクティブでは、プラガブル・データベース(PDB)のリソース割当てポリシーを指定します。

構文

DBMS_RESOURCE_MANAGER.UPDATE_CDB_PLAN_DIRECTIVE (
   plan                        IN    VARCHAR2 (30), 
   pluggable_database          IN    VARCHAR2 (30)
   new_comment                 IN    VARCHAR2 (200)  DEFAULT NULL, 
   new_shares                  IN    NUMBER          DEFAULT NULL, 
   new_utilization_limit       IN    NUMBER          DEFAULT NULL, 
   new_parallel_server_limit   IN    NUMBER          DEFAULT NULL,
   new_memory_limit            IN    NUMBER          DEFAULT NULL,  
   new_memory_min              IN    NUMBER          DEFAULT NULL);

パラメータ

表151-31 UPDATE_CDB_PLAN_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

plan

統合計画の名前。

pluggable_database

プラガブル・データベースの名前。

new_comment

新しいユーザー・コメント。

new_shares

プラガブル・データベースのリソース割当ての共有。

各PDBに共有を指定することで、CPU Resource Managerを有効化します。また、パラレル・ステートメント・キューイングにはsharesパラメータを使用します。共有が指定されていない場合は、デフォルト・ディレクティブから、UPDATE_CDB_DEFAULT_DIRECTIVEプロシージャで指定されたデフォルトが取得されます。

new_utilization_limit

プラガブル・データベースで使用できるCPUの新しい最大割合。

new_parallel_server_limit

プラガブル・データベースで使用できるparallel_servers_targetパラレル・サーバーの新しい最大割合。

new_memory_limit

このパラメータは、Database Smart Flash CacheおよびPMEMキャッシュを構成するためのOracle Exadataストレージにのみ適用できます。

new_memory_min

このパラメータは、Database Smart Flash CacheおよびPMEMキャッシュを構成するためのOracle Exadataストレージにのみ適用できます。

使用上のノート

  • new_*パラメータのデフォルト値はNULLです。これは、既存の値が変更されないことを意味します。ユーザーがこのファンクションをコールするときにいずれかの引数を指定しなかった場合、値は変更されません。

  • このプロシージャは、CDBルート(CDB$ROOT)からのみ実行できます。

  • クリア(ディレクティブのデフォルト値にリセット)するには、値-1を使用します。

151.4.35 UPDATE_CDB_PROFILE_DIRECTIVEプロシージャ

このプロシージャは、統合リソース・プランのパフォーマンス・プロファイル・ディレクティブを更新します。ディレクティブでは、パフォーマンス・プロファイルを使用するプラガブル・データベース(PDB)のリソース割当てポリシーを指定します。

PDBでパフォーマンス・プロファイルを使用するには、PDBのDB_PERFORMANCE_PROFILE初期化パラメータがパフォーマンス・プロファイル名に設定されている必要があります。

構文

DBMS_RESOURCE_MANAGER.UPDATE_CDB_PROFILE_DIRECTIVE (
   plan                        IN    VARCHAR2, 
   profile                     IN    VARCHAR2,
   new_comment                 IN    VARCHAR2 (2000) DEFAULT '', 
   new_shares                  IN    NUMBER          DEFAULT NULL, 
   new_utilization_limit       IN    NUMBER          DEFAULT NULL, 
   new_parallel_server_limit   IN    NUMBER          DEFAULT NULL,
   new_memory_limit            IN    NUMBER          DEFAULT 100, 
   new_memory_min              IN    NUMBER          DEFAULT 0);

パラメータ

表151-32 UPDATE_CDB_PROFILE_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

plan

統合計画の名前。

profile

パフォーマンス・プロファイルの名前。

new_comment

新しいユーザー・コメント。

new_shares

パフォーマンス・プロファイルを使用するPDBのリソース割当ての共有。

new_utilization_limit

パフォーマンス・プロファイルを使用するPDBで使用できるCPUの新しい最大割合。

new_parallel_server_limit

パフォーマンス・プロファイルを使用するPDBで使用できるparallel_servers_targetパラレル・サーバーの新しい最大割合。

new_memory_limit

このパラメータは、Database Smart Flash CacheおよびPMEMキャッシュを構成するためのOracle Exadataストレージにのみ適用できます。

new_memory_min

このパラメータは、Database Smart Flash CacheおよびPMEMキャッシュを構成するためのOracle Exadataストレージにのみ適用できます。

使用上のノート

  • このプロシージャは、CDBルート(CDB$ROOT)からのみ実行できます。

  • クリア(ディレクティブのデフォルト値にリセット)するには、値-1を使用します。

151.4.36 UPDATE_CONSUMER_GROUPプロシージャ

このプロシージャは、リソース・コンシューマ・グループを定義するエントリを更新します。

構文

DBMS_RESOURCE_MANAGER.UPDATE_CONSUMER_GROUP (
   consumer_group  IN VARCHAR2, 
   new_comment     IN VARCHAR2 DEFAULT NULL, 
   new_cpu_mth     IN VARCHAR2 DEFAULT NULL,
   new_mgmt_mth    IN VARCHAR2 DEFAULT NULL,
   new_category    IN VARCHAR2 DEFAULT NULL); 

パラメータ

表151-33 UPDATE_CONSUMER_GROUPプロシージャのパラメータ

パラメータ 説明

consumer_group

コンシューマ・グループの名前。

new_comment

新しいユーザー・コメント。

new_cpu_mth

CPUリソース割当てに対する新規の方法名(非推奨)。

new_mgmt_mth

CPUリソース割当てに対する新規の方法名。

new_category

新規コンシューマ・グループ・カテゴリ。

使用上のノート

  • UPDATE_CONSUMER_GROUPに対するパラメータを指定しない場合、これらのパラメータは、データ・ディクショナリ内で変更されないまま残ります。

  • クリア(ディレクティブのデフォルト値にリセット)するには、値-1を使用します。

151.4.37 UPDATE_PLANプロシージャ

このプロシージャは、リソース・プランを定義するエントリを更新します。

構文

DBMS_RESOURCE_MANAGER.UPDATE_PLAN (
   plan                               IN VARCHAR2, 
   new_comment                        IN VARCHAR2 DEFAULT NULL, 
   new_cpu_mth                        IN VARCHAR2 DEFAULT NULL, -- deprecated
   new_active_sess_pool_mth           IN VARCHAR2 DEFAULT NULL,
   new_parallel_degree_limit_mth      IN VARCHAR2 DEFAULT NULL,
   new_queueing_mth                   IN VARCHAR2 DEFAULT NULL,
   new_mgmt_mth                       IN VARCHAR2 DEFAULT NULL,
   new_sub_plan                       IN BOOLEAN DEFAULT FALSE,
   new_max_iops                       IN NUMBER DEFAULT NULL,
   new_max_mbps                       IN NUMBER DEFAULT NULL); 

パラメータ

表151-34 UPDATE_PLANプロシージャのパラメータ

パラメータ 説明

plan

リソース・プランの名前。

new_comment

新しいユーザー・コメント。

new_cpu_mth

CPUリソース割当てに対する新規の割当て方法名(非推奨)。

new_active_sess_pool_mth

アクティブな最大セッションに対する新規の方法名。

new_parallel_degree_limit_mth

並列度に対する新規の方法名。

new_queueing_mth

アクティブなセッションのプール機能で使用するキューイング・ポリシーのタイプを指定します。

new_mgmt_mth

コンシューマ・グループやサブ・プランがそれぞれ使用するリソース量(CPUやI/Oなど)を指定するためのリソース割当て方法。

  • EMPHASIS - コンシューマ・グループ間でのI/Oリソースの分散方法を指定する際にパーセントを使用する、マルチレベル・プランに向いています。

  • RATIO - I/Oリソースの分散方法を指定する際に比率を使用する、単一レベルの計画に向いています。

new_sub_plan

計画がサブプランとしての使用のみを目的としているかどうかに関する新規設定。

new_max_iops

機能しません

new_max_mbps

機能しません

使用上のノート

  • UPDATE_PLANプロシージャに対するパラメータを指定しない場合、これらのパラメータは、データ・ディクショナリ内に変更されないまま残ります。

  • デフォルトのリソース割当て方法を使用する場合は、計画の作成または更新時に方法を指定する必要はありません。

  • クリア(ディレクティブのデフォルト値にリセット)するには、値-1を使用します。

151.4.38 UPDATE_PLAN_DIRECTIVEプロシージャ

このプロシージャは、リソース・プラン・ディレクティブを更新します。

ノート:

パラメータnew_max_utilization_limitnew_parallel_target_percentageは、Oracle Database 11gリリース1(12.1.0.1)で非推奨になっており、new_utilization_limitnew_parallel_server_limitに置き換えられます。

構文

DBMS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE (
   plan                             IN VARCHAR2, 
   group_or_subplan                 IN VARCHAR2, 
   new_comment                      IN VARCHAR2 DEFAULT NULL, 
   new_cpu_p1                       IN NUMBER   DEFAULT NULL, -- deprecated 
   new_cpu_p2                       IN NUMBER   DEFAULT NULL, -- deprecated 
   new_cpu_p3                       IN NUMBER   DEFAULT NULL, -- deprecated 
   new_cpu_p4                       IN NUMBER   DEFAULT NULL, -- deprecated 
   new_cpu_p5                       IN NUMBER   DEFAULT NULL, -- deprecated 
   new_cpu_p6                       IN NUMBER   DEFAULT NULL, -- deprecated 
   new_cpu_p7                       IN NUMBER   DEFAULT NULL, -- deprecated 
   new_cpu_p8                       IN NUMBER   DEFAULT NULL, -- deprecated 
   new_active_sess_pool_p1          IN NUMBER   DEFAULT NULL,
   new_queueing_p1                  IN NUMBER   DEFAULT NULL,
   new_parallel_degree_limit_p1     IN NUMBER   DEFAULT NULL,
   new_switch_group                 IN VARCHAR2 DEFAULT NULL, 
   new_switch_time                  IN NUMBER   DEFAULT NULL, 
   new_switch_estimate              IN BOOLEAN  DEFAULT FALSE, 
   new_max_est_exec_time            IN NUMBER   DEFAULT NULL, 
   new_undo_pool                    IN NUMBER   DEFAULT NULL,
   new_max_idle_time                IN NUMBER   DEFAULT NULL,
   new_max_idle_blocker_time        IN NUMBER   DEFAULT NULL,
   switch_time_in_call              IN NUMBER   DEFAULT NULL, -- deprecated
   new_mgmt_p1                      IN NUMBER   DEFAULT NULL,
   new_mgmt_p2                      IN NUMBER   DEFAULT NULL,
   new_mgmt_p3                      IN NUMBER   DEFAULT NULL,
   new_mgmt_p4                      IN NUMBER   DEFAULT NULL,
   new_mgmt_p5                      IN NUMBER   DEFAULT NULL,
   new_mgmt_p6                      IN NUMBER   DEFAULT NULL,
   new_mgmt_p7                      IN NUMBER   DEFAULT NULL,
   new_mgmt_p8                      IN NUMBER   DEFAULT NULL,
   new_switch_io_megabytes          IN NUMBER   DEFAULT NULL,
   new_switch_io_reqs               IN NUMBER   DEFAULT NULL,
   new_switch_for_call              IN BOOLEAN  DEFAULT NULL,
   new_max_utilization_limit        IN NUMBER   DEFAULT NULL,
   new_parallel_target_percentage   IN NUMBER   DEFAULT NULL, 
   new_parallel_queue_timeout       IN NUMBER   DEFAULT NULL,   
   new_parallel_server_limit        IN NUMBER   DEFAULT NULL,
   new_utilization_limit            IN NUMBER   DEFAULT NULL,
   new_switch_io_logical            IN NUMBER   DEFAULT NULL,
   new_switch_elapsed_time          IN NUMBER   DEFAULT NULL,
   new_shares                       IN NUMBER   DEFAULT NULL,
   new_parallel_stmt_critical       IN VARCHAR2 DEFAULT NULL,
   new_session_pga_limit            IN NUMBER   DEFAULT NULL,
   new_pq_timeout_action            IN NUMBER   DEFAULT NULL);

パラメータ

表151-35 UPDATE_PLAN_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

plan

リソース・プランの名前。

group_or_subplan

コンシューマ・グループの名前またはサブプランの名前。

new_comment

プラン・ディレクティブについてのコメント。

new_cpu_p1

非推奨 - かわりにnew_mgmt_p1を使用。

new_cpu_p2

非推奨 - かわりにnew_mgmt_p2を使用。

new_cpu_p3

非推奨 - かわりにnew_mgmt_p3を使用。

new_cpu_p4

非推奨 - かわりにnew_mgmt_p4を使用。

new_cpu_p5

非推奨 - かわりにnew_mgmt_p5を使用。

new_cpu_p6

非推奨 - かわりにnew_mgmt_p6を使用。

new_cpu_p7

非推奨 - かわりにnew_mgmt_p7を使用。

new_cpu_p8

非推奨 - かわりにnew_mgmt_p8を使用。

new_active_sess_pool_p1

コンシューマ・グループに対するアクティブな同時セッションの最大数を指定します。デフォルトのNULLは、無制限を意味します。

new_queueing_p1

非アクティブ・セッション・キューにあるジョブ(実行待ち状態のジョブ)がタイムアウトする時間(秒)を指定します。デフォルトのNULLは、無制限を意味します。

new_parallel_degree_limit_p1

任意の操作の並列度を制限します。デフォルトのNULLは、無制限を意味します。

new_switch_group

他の切替え基準に達した場合に、現行セッションの切替え先となるコンシューマ・グループを指定します。デフォルトはNULLです。グループ名が'CANCEL_SQL'の場合は、他の切替え基準に達したときに現行のコールが取り消されます。グループ名が'KILL_SESSION'の場合は、他の切替え基準に達したときにセッションが終了します。

new_switch_time

アクションの実行前にセッションを実行できる時間(CPU秒)を指定します。デフォルトのNULLは、無制限を意味します。

new_switch_estimate

TRUEの場合は、実行前に、見積り実行時間が操作のコンシューマ・グループに自動的に切り換えられるようにOracleに指示します。デフォルトはFALSEです。

new_max_est_exec_time

セッションに許可する実行時間(CPU秒)の最大値を指定します。操作時間がMAX_EST_EXEC_TIMEより長いとオプティマイザが判断した場合、その操作は開始されず、ORA-07455が発行されます。オプティマイザが判断しない場合は、このディレクティブの効果はありません。デフォルトのNULLは、無制限を意味します。

new_undo_pool

このコンシューマ・グループによってコミットされないトランザクションに対応するUNDOレコードのサイズをKB単位で制限します。

new_max_idle_time

セッションのアイドル時間の最大値を示します。デフォルトのNULLは、無制限を意味します。

new_max_idle_blocker_time

別のセッションのリソース取得をブロックしながら、セッションのアイドル状態を維持できる時間(秒)の最大値。

new_switch_time_in_call

非推奨。このパラメータを指定すると、new_switch_timenew_switch_time_in_callに設定され、new_switch_for_callTRUEに設定されます。

new_mgmt_p1

レベル1のリソース割当て値(new_cpu_p1のかわり)。

  • EMPHASIS - リソースのパーセントを第1レベルに指定します。

  • RATIO - リソース使用率の重みを指定します。

new_mgmt_p2

レベル2のリソース割当て値(new_cpu_p2のかわり)。

  • EMPHASIS - リソースのパーセントを第2レベルに指定します。

  • RATIO - なし

new_mgmt_p3

レベル3のリソース割当て値(new_cpu_p3のかわり)。

  • EMPHASIS - リソースのパーセントを第3レベルに指定します。

  • RATIO - なし

new_mgmt_p4

レベル4のリソース割当て値(new_cpu_p4のかわり)。

  • EMPHASIS - リソースのパーセントを第4レベルに指定します。

  • RATIO - なし

new_mgmt_p5

レベル5のリソース割当て値(new_cpu_p5のかわり)。

  • EMPHASIS - リソースのパーセントを第5レベルに指定します。

  • RATIO - なし

new_mgmt_p6

レベル6のリソース割当て値(new_cpu_p6のかわり)。

  • EMPHASIS - リソースのパーセントを第6レベルに指定します。

  • RATIO - なし

new_mgmt_p7

レベル7のリソース割当て値(new_cpu_p7のかわり)。

  • EMPHASIS - リソースのパーセントを第7レベルに指定します。

  • RATIO - なし

new_mgmt_p8

レベル8のリソース割当て値(new_cpu_p8のかわり)。

  • EMPHASIS - リソースのパーセントを第8レベルに指定します。

  • RATIO - なし

new_switch_io_megabytes

アクションの実行前にセッションが発行できるI/Oの量(MB)を指定します。デフォルトのNULLは、無制限を意味します。

new_switch_io_reqs

アクションの実行前にセッションが発行できるI/Oリクエストの数を指定します。デフォルトのNULLは、無制限を意味します。

new_switch_for_call

new_switch_timenew_switch_io_megabytesまたはnew_switch_io_reqsパラメータのためにアクションが実行される場合、最初のコールの終了時に、コンシューマ・グループが元のコンシューマ・グループにリストアされるように指定します。デフォルト値のFALSEは、最初のコールの終了時に元のコンシューマ・グループがリストアされないことを意味します。

new_max_utilization_limit

非推奨 - かわりにnew_utilization_limitを使用。

new_parallel_target_percentage

非推奨 - かわりにnew_parallel_server_limitを使用。

new_parallel_server_limit

パラレル・サーバーの制限。これを設定すると、utilization_limitによって設定されたパラレル・サーバーの制限が上書きされます。

new_utilization_limit

リソース制限。CPUの場合は、これにより、コンシューマ・グループのCPUの使用を制限します。パラレル・サーバーの場合は、これにより、parallel_servers_targetの割合として使用されるパラレル・サーバーを制限します。

new_switch_elapsed_time

switch_groupによって指定されたアクションがトリガーされるまでの経過時間。他のスイッチ・ディレクティブと同様、new_switch_for_callTRUEの場合、経過時間はコールの開始時点から累積されます。そうでない場合、経過時間はセッションの間累積される。

new_shares

プラガブル・データベースのリソース割当ての共有を指定します。各PDBにsharesを指定することで、CPU Resource ManagerおよびExadata I/Oリソース・マネージャを有効化します。また、パラレル・ステートメント・キューイングにはsharesパラメータを使用します。CPU Resource ManagerおよびExadata I/Oリソース・マネージャを有効化する場合、デフォルト値は1です。

new_parallel_stmt_critical

BYPASS_QUEUEに設定されている場合は、このコンシューマ・グループのパラレル文はキューされません。

QUEUEに設定されている場合は、parallel_degree_policyパラメータ値に関係なく、コンシューマ・グループのすべてのパラレル・ステートメントはキューに入れられます。

デフォルトはFALSEです(parallel_degree_policyパラメータ値に応じて、特定のパラレル・ステートメントをキューに入れることができます)。

new_session_pga_limit

このコンシューマ・グループのセッションが終了する前に割当て可能なPGAの最大量(MB)。NULL (デフォルト)は、変更がないことを示します。

new_parallel_queue_timeout

パラレル・ステートメントが削除されるまでにコンシューマ・グループのパラレル・ステートメント・キューに残しておく時間(秒)を指定します。

このパラメータのデフォルトのアクションは、ERRORです。このアクションは、new_pq_timeout_actionパラメータを使用して変更できます。

new_pq_timeout_action

new_parallel_queue_timeoutによってパラレル・ステートメントがキューから削除されたときに実行するアクションを指定します。

値は次のとおりです。

  • CANCEL — SQL文は、エラーORA-7454により終了します

  • RUN — パラレル・サーバーが使用できない場合、SQL文がすぐに実行され、ダウングレードされる可能性があります

使用上のノート

  • UPDATE_PLAN_DIRECTIVEに対してパラメータを指定しない場合、これらのパラメータは、データ・ディクショナリ内で変更されないまま残ります。

  • new_max_idle_timeおよびnew_max_idle_blocker_timeに指定された制限値については、PMONが1分に1回確認します。いずれかの制限を超過したセッションが見つかると、そのセッションは強制終了され、すべての状態がクリーン・アップされます。

  • 中間層サーバーによるセッション・プーリングの実装が行われている場合の3層アプリケーションでは、ほとんどの場合、パラメータnew_switch_time_in_callは有用です。new_switch_time_in_callをオンに設定した場合のクライアントのリソース使用率は、今後別のクライアントのコンシューマ・グループが偶然同じセッションで実行されても影響しません。

  • クリア(ディレクティブのデフォルト値にリセット)するには、値-1を使用します。

151.4.39 VALIDATE_PENDING_AREAプロシージャ

このプロシージャは、リソース・マネージャに対する保留中の変更内容を検証します。

構文

DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;