DBMS_RESOURCE_MANAGER
パッケージは、プラン、コンシューマ・グループおよびプラン・ディレクティブをメンテナンスします。また、プラン・スキーマへの変更内容をグループ化する方法も提供します。
関連項目: データベース・リソース・マネージャの使用方法の詳細は、『Oracle Database管理者ガイド』を参照してください。 |
この章では、次の項目について説明します。
推奨されないサブプログラム
セキュリティ・モデル
定数
注意: 新しいアプリケーションでは、これらのプロシージャを使用しないことをお薦めします。これらのプロシージャは、下位互換性を維持する目的のみでサポートされています。 |
Oracle Database 11gでは、次のサブプログラムの使用は推奨されていません。
実行者には、このプロシージャを実行するためのADMINISTER_RESOURCE_MANAGER
システム権限が必要です。 この権限の付与および取消しを行うプロシージャは、DBMS_RESOURCE_MANAGER_PRIVSパッケージに含まれています(第106章「DBMS_RESOURCE_MANAGER_PRIVS」を参照)。
表105-1 DBMS_RESOURCE_MANAGERの定数
定数 | 定義 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表105-2 DBMS_RESOURCE_MANAGERパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
|
ストレージのI/O機能を較正します。 |
|
リソース・マネージャに対する作業領域を消去します。 |
|
リソース・コンシューマ・グループを定義するエントリを作成します。 |
|
リソース・マネージャ・オブジェクトへの変更を行うための作業領域を作成します。 |
|
リソース・プランを定義するエントリを作成します。 |
|
リソース・プラン・ディレクティブを作成します。 |
|
最大8つのコンシューマ・グループが含まれた単一レベルのリソース・プランを1ステップで作成します。 |
|
リソース・コンシューマ・グループを定義するエントリを削除します。 |
|
指定のプランおよびそれが参照するすべてのプラン・ディレクティブを削除します。 |
|
指定のプランおよびそのすべての子(プラン・ディレクティブ、サブプラン、コンシューマ・グループ)を削除します。 |
|
リソース・プラン・ディレクティブを削除します。 |
SET_CONSUMER_GROUP_MAPPINGプロシージャ |
ログイン属性およびランタイム属性のマッピングに使用するエントリを追加、削除または変更します。 |
SET_CONSUMER_GROUP_MAPPING_PRIプロシージャ |
セッション属性マッピングの優先順位リストを作成します。 |
SET_INITIAL_CONSUMER_GROUPプロシージャ |
ユーザーに対して、初期リソース・コンシューマ・グループを割り当てます。 |
|
リソース・マネージャに対する保留中の変更を実行します。 |
SWITCH_CONSUMER_GROUP_FOR_SESSプロシージャ |
指定のセッションのリソース・コンシューマ・グループを変更します。 |
SWITCH_CONSUMER_GROUP_FOR_USERプロシージャ |
指定のユーザー名で、すべてのセッションのリソース・コンシューマ・グループを変更します。 |
|
現行のリソース・マネージャ・プランを設定します。 |
|
リソース・コンシューマ・グループを定義するエントリを更新します。 |
|
リソース・プランを定義するエントリを更新します。 |
|
リソース・プラン・ディレクティブを更新します。 |
|
リソース・マネージャに対する保留中の変更を検証します。 |
このプロシージャは、ストレージの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);
パラメータ
表105-3 CALIBRATE_IOプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
データベース記憶域にある物理ディスクの概数。 |
|
データベース・ブロック・サイズのIOリクエストの最大許容待機時間(ミリ秒)。 |
|
維持できるI/Oリクエストの最大数(秒)。I/Oリクエストは、ランダムに分散されるデータベース・ブロック・サイズの読取りです。 |
|
維持できるI/Oスループットの最大数(MB/秒単位)。I/Oリクエストは、ランダムに分散される1MBの読取りです。 |
|
|
使用上の注意
このプロシージャは、SYSDBA権限を持つユーザーのみが実行できます。 また、権限を持つユーザーは、timed_statistics
をオンにし、asynch_io
がデータファイルに対して有効になっていることを確認する必要もあります。 この設定は、filesystemio_options
をASYNCH
または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(RAC)データベースでは、ワークロードはすべてのインスタンスから同時に生成されます。
関連項目: 較正の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 |
例
I/O較正プロシージャの使用例
SET SERVEROUTPUT ON DECLARE lat INTEGER; 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); DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops); DBMS_OUTPUT.PUT_LINE ('latency = ' || lat); dbms_output.put_line('max_mbps = ' || mbps); 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)' /
このプロシージャは、リソース・マネージャに対する保留中の変更内容を消去します。
構文
DBMS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;
このプロシージャは、リソース・コンシューマ・グループを定義するエントリを作成します。
構文
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP ( consumer_group IN VARCHAR2, comment IN VARCHAR2, cpu_mth IN VARCHAR2 DEFAULT NULL, mgmt_mth IN VARCHAR2 DEFAULT 'ROUND-ROBIN');
パラメータ
表105-4 CREATE_CONSUMER_GROUPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
コンシューマ・グループの名前。 |
|
ユーザーのコメント。 |
|
CPUリソース割当て方法の名前(非推奨)。 |
|
CPUリソース割当て方法の名前。 |
このプロシージャは、リソース・マネージャ・オブジェクトに変更を加えます。
プラン・スキーマへのすべての変更は、ペンディング・エリア内で行う必要があります。ペンディング・エリアは、プラン・スキーマを変更するためのスクラッチ領域とみなすことができます。管理者は、このペンディング・エリアを作成し、必要に応じて変更を加え、場合によってその変更を検証します。その実行が完了したときのみ、その変更内容がアクティブになります。
構文
DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA;
使用上の注意
ペンディング・エリアがアクティブな間は、変更された現行のプラン・スキーマを適切なユーザー・ビューから選択して、いつでも表示できます。
現行の変更を中止する場合は、いつでもペンディング・エリアを消去できます。また、VALIDATE
プロシージャをコールして、変更が有効になっているかどうかを確認できます。変更は、エントリ・グループの一貫性を維持するための指定の順序で行う必要はありません。これらのチェックは、ペンディング・エリアが実行されるときにも暗黙的に行われます。
注意: Oracleでは、孤立したコンシューマ・グループ(つまり、そのコンシューマ・グループを参照するプラン・ディレクティブがないコンシューマ・グループ)が可能です。これは、現在は使用しないが将来使用するコンシューマ・グループを管理者があらかじめ作成できるようにするためです。 |
次のルールを厳守してください。これらのルールは、VALIDATEまたはSUBMITプロシージャが実行されるたびにチェックされます。
プラン・スキーマにループがないこと。
プラン・ディレクティブが参照するすべてのプランおよびコンシューマ・グループがあること。
すべてのプランに、プランまたはコンシューマ・グループのいずれかを参照するプラン・ディレクティブがあること。
リソース割当て方法がEMPHASISの場合は、指定レベルでのパーセントの合計が100を超えないこと。
アクティブなインスタンスでトップレベルのプランとして現在使用されているプランを削除しないこと。
Oracle8iの場合、プラン・ディレクティブのパラメータparallel_degree_limit_p1
は、コンシューマ・グループ(つまり、サブプランではなく)を参照するプラン・ディレクティブでのみ表示されます。
指定のプランでのプラン・ディレクティブが32を超えないこと(つまり、プランは33以上の子を持つことはできません)。
アクティブなプラン・スキーマ内のコンシューマ・グループが32を超えないこと。
プランとコンシューマ・グループは同じネームスペースを使用するため、コンシューマ・グループと同じ名前のプランがないこと。
アクティブなプラン・スキーマ内にOTHER_GROUPS
に対するプラン・ディレクティブがあること。これにより、現在アクティブなプランがカバーしていないセッションにOTHER_GROUPS
ディレクティブが指定したリソースが割り当てられます。
VALIDATE
またはSUBMIT
プロシージャによるチェック時に、前述のルールのいずれかに違反していると、それを通知するエラー・メッセージが戻されます。 変更して問題を修正し、VALIDATEまたはSUBMITプロシージャを再発行できます。
このプロシージャは、リソース・プランを定義するエントリを作成します。
構文
DBMS_RESOURCE_MANAGER.CREATE_PLAN ( plan IN VARCHAR2, comment IN VARCHAR2, 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');
パラメータ
表105-5 CREATE_PLANプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
リソース・プランの名前。 |
|
ユーザーのコメント。 |
|
CPUリソース割当て方法(非推奨)。 |
|
アクティブ・セッション・プールのリソース割当て方法。アクティブなセッションの数を制限します。他のセッションはすべて非アクティブになり、アクティブ化されるまでキューで待機します。 デフォルトの |
|
任意の操作の並列度に制限を指定するためのリソース割当て方法。 デフォルトの |
|
キューイングのリソース割当て方法。キュー内で実行待ちになっている非アクティブなセッションを実行する順序を制御します。 デフォルトの |
|
コンシューマ・グループやサブ・プランがそれぞれ使用するリソース量(CPUやI/Oなど)を指定するためのリソース割当て方法。
|
使用上の注意
デフォルトのリソース割当て方法を使用する場合は、プランの作成または更新時に方法を指定する必要はありません。
このプロシージャは、リソース・プラン・ディレクティブを作成します。
構文
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE ( plan IN VARCHAR2, group_or_subplan IN VARCHAR2, comment IN VARCHAR2, 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);
パラメータ
表105-6 CREATE_PLAN_DIRECTIVEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
リソース・プランの名前。 |
|
コンシューマ・グループの名前またはサブプランの名前。 |
|
プラン・ディレクティブについてのコメント。 |
|
CPUリソース割当て方法の最初のパラメータ(非推奨、 |
|
CPUリソース割当て方法の2番目のパラメータ(非推奨、 |
|
CPUリソース割当て方法の3番目のパラメータ(非推奨、 |
|
CPUリソース割当て方法の4番目のパラメータ(非推奨、 |
|
CPUリソース割当て方法の5番目のパラメータ(非推奨、 |
|
CPUリソース割当て方法の6番目のパラメータ(非推奨、 |
|
CPUリソース割当て方法の7番目のパラメータ(非推奨、 |
|
CPUリソース割当て方法の8番目のパラメータ(非推奨、 |
|
コンシューマ・グループに対するアクティブな同時セッションの最大数を指定します。デフォルトの |
|
非アクティブ・セッション・キューにあるジョブ(実行待ち状態のジョブ)がタイムアウトする時間(秒)を指定します。デフォルトの |
|
任意の操作の並列度を制限します。デフォルトの |
|
切替え条件に達した場合に、切り替えるコンシューマ・グループを指定します。 グループ名が' |
|
アクションの実行前にセッションを実行できる時間(秒)を指定します。デフォルトの |
|
|
|
セッションに許可する実行時間(秒)の最大値を指定します。操作時間が |
|
コンシューマ・グループによって生成される取消しの合計量の最大値を、キロバイト( |
|
セッションのアイドル時間の最大値を示します。デフォルトの |
|
別のセッションのリソース取得をブロックしながら、セッションのアイドル状態を維持できる時間(秒)の最大値。 |
|
非推奨。 このパラメータを指定すると、 |
|
レベル1のリソース割当て値(
|
|
レベル2のリソース割当て値(
|
|
レベル3のリソース割当て値(
|
|
レベル4のリソース割当て値(
|
|
レベル5のリソース割当て値(
|
|
レベル6のリソース割当て値(
|
|
レベル7のリソース割当て値(
|
|
レベル8のリソース割当て値(
|
|
アクションの実行前にセッションが発行できるI/Oの量(MB)を指定します。デフォルトの |
|
アクションの実行前にセッションが発行できるI/Oリクエストの数を指定します。デフォルトの |
|
|
使用上の注意
すべてのパラメータは、NULL
にデフォルト設定されます。ただし、CPU
リソース割当て方法がEMPHASIS
の場合は、ユーザーがすべてのパラメータを入力する必要があります。
max_idle_time
およびmax_idle_blocker_time
に指定された制限値については、PMON
が1分に1回確認します。いずれかの制限を超過したセッションが見つかると、そのセッションは強制終了され、すべての状態がクリーン・アップされます。
中間層サーバーによるセッション・プーリングの実装が行われている場合の3層アプリケーションでは、ほとんどの場合、パラメータswitch_time_in_call
は有用です。 switch_time_in_call
を使用した場合のクライアントのリソース使用率は、今後別のクライアントが偶然同じセッションで実行されても影響しません。
このプロシージャでは、最大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);
パラメータ
表105-7 CREATE_SIMPLE_PLANプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
リソース・プランの名前。 |
|
コンシューマ・グループの名前。 |
|
グループのパーセント(非推奨)。 |
|
コンシューマ・グループの名前。 |
|
グループのパーセント(非推奨)。 |
|
コンシューマ・グループの名前。 |
|
グループのパーセント(非推奨)。 |
|
コンシューマ・グループの名前。 |
|
グループのパーセント(非推奨)。 |
|
コンシューマ・グループの名前。 |
|
グループのパーセント(非推奨)。 |
|
コンシューマ・グループの名前。 |
|
グループのパーセント(非推奨)。 |
|
コンシューマ・グループの名前。 |
|
グループのパーセント(非推奨)。 |
|
コンシューマ・グループの名前。 |
|
グループのパーセント(非推奨)。 |
|
このコンシューマ・グループに割り当てられたリソースのパーセント。 |
|
このコンシューマ・グループに割り当てられたリソースのパーセント。 |
|
このコンシューマ・グループに割り当てられたリソースのパーセント。 |
|
このコンシューマ・グループに割り当てられたリソースのパーセント。 |
|
このコンシューマ・グループに割り当てられたリソースのパーセント。 |
|
このコンシューマ・グループに割り当てられたリソースのパーセント。 |
|
このコンシューマ・グループに割り当てられたリソースのパーセント。 |
|
このコンシューマ・グループに割り当てられたリソースのパーセント。 |
このプロシージャは、リソース・コンシューマ・グループを定義するエントリを削除します。
構文
DBMS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP ( consumer_group IN VARCHAR2);
パラメータ
このプロシージャは、指定のプランおよびそれが参照するすべてのプラン・ディレクティブを削除します。
構文
DBMS_RESOURCE_MANAGER.DELETE_PLAN ( plan IN VARCHAR2);
パラメータ
このプロシージャは、指定のプランおよびそのすべての子(プラン・ディレクティブ、サブプラン、コンシューマ・グループ)を削除します。必須オブジェクトおよび必須ディレクティブは削除されません。
構文
DBMS_RESOURCE_MANAGER.DELETE_PLAN_CASCADE ( plan IN VARCHAR2);
パラメータ
使用上の注意
DELETE_PLAN_CASCADE
プロシージャでエラーが発生した場合は、ロールバックされるため、何も削除されません。
このプロシージャは、リソース・プラン・ディレクティブを削除します。
構文
DBMS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE ( plan IN VARCHAR2, group_or_subplan IN VARCHAR2);
パラメータ
表105-11 DELETE_PLAN_DIRECTIVEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
リソース・プランの名前。 |
|
グループの名前またはサブプランの名前。 |
このプロシージャは、セッションのログイン属性およびランタイム属性に基づいて、セッションをコンシューマ・グループにマップするエントリを追加、削除または変更します。
構文
DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING( attribute IN VARCHAR2, value IN VARCHAR2, consumer_group IN VARCHAR2 DEFAULT NULL);
パラメータ
表105-12 SET_CONSUMER_GROUP_MAPPINGプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
追加または変更するマッピング属性。リストされている定数のいずれかを指定します。 |
|
一致させる属性値。 |
|
マップされたコンシューマ・グループの名前。マッピングを削除する場合は |
使用上の注意
指定された属性および値に対するマッピングが存在しない場合は、指定されたコンシューマ・グループへのマッピングが作成されます。指定された属性および値に対するマッピングがすでに存在する場合、マッピング先のコンシューマ・グループは、指定された属性および値を持つコンシューマ・グループに更新されます。 consumer_group
引数がNULL
の場合は、指定された属性および値からのマッピングがすべて削除されます。
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);
パラメータ
表105-13 SET_CONSUMER_GROUP_MAPPING_PRIプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
明示的マッピングの優先順位。 |
|
Oracleユーザー名のマッピングの優先順位。 |
|
クライアント・サービス名のマッピングの優先順位。 |
|
クライアント・オペレーティング・システムのユーザー名のマッピングの優先順位。 |
|
クライアント・プログラムのマッピングの優先順位。 |
|
クライアント・マシンのマッピングの優先順位。 |
|
アプリケーション・モジュール名のマッピングの優先順位。 |
|
アプリケーション・モジュール名およびアプリケーション・アクションのマッピングの優先順位。 |
|
サービス名およびアプリケーション・モジュール名のマッピングの優先順位。 |
|
サービス名、アプリケーション・モジュール名およびアプリケーション・アクションのマッピングの優先順位。 |
使用上の注意
このプロシージャには、引数として擬似属性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から10の一意の整数にしてください。優先順位1から10を使用する場合、優先順位が最も高いのは1、最も低いのは10です。
注意: 11g リリース1では、このプロシージャの使用は推奨されていません。このパッケージでこのプロシージャを使用することはできますが、初期コンシューマ・グループは、セッションとコンシューマ間のグループのマッピング・ルールによって設定されます。 |
ユーザーの初期コンシューマ・グループは、そのユーザーが作成したセッションが最初に所属しているコンシューマ・グループです。このプロシージャは、ユーザーに対して、初期のリソース・コンシューマ・グループを設定します。
構文
DBMS_RESOURCE_MANAGER.SET_INITIAL_CONSUMER_GROUP ( user IN VARCHAR2, consumer_group IN VARCHAR2);
パラメータ
表105-14 SET_INITIAL_CONSUMER_GROUPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ユーザーの名前。 |
|
ユーザーの初期コンシューマ・グループ。 |
使用上の注意
このプロシージャを実行するためには、ADMINISTER_RESOURCE_MANAGER
またはALTER
USER
システム権限が必要です。ユーザーの初期コンシューマ・グループが設定される前に、ユーザーまたはPUBLIC
に対して、コンシューマ・グループへの切替え権限が直接付与されている必要があります。初期コンシューマ・グループに対する切替え権限は、そのユーザーに付与されているロールから与えることはできません。
注意: この方法は、ALTER USER DEFAULT ROLE に対する方法に類似しています。 |
ユーザーの初期コンシューマ・グループが設定されていない場合は、自動的にDEFAULT_CONSUMER_GROUP
がコンシューマ・グループになります。
DEFAULT_CONSUMER_GROUP
はPUBLIC
に付与された切替え権限を持つため、すべてのユーザーはこのコンシューマ・グループに対する切替え権限を自動的に付与されます。 コンシューマ・グループを削除するとき、削除するグループを初期コンシューマ・グループとしていたすべてのユーザーは、DEFAULT_CONSUMER_GROUP
を初期コンシューマ・グループとします。 削除するコンシューマ・グループに所属している現行のアクティブなセッションは、すべてDEFAULT_CONSUMER_GROUP
に切り替えられます。
このプロシージャは、リソース・マネージャに対する保留中の変更を発行します。変更内容を検証してコミットした後(その変更内容が有効な場合)、ペンディング・エリアを消去します。
注意: SUBMIT_PENDING_AREA へのコールは、VALIDATE_PENDING_AREA が成功していても失敗する場合があります。 これは、VALIDATE_PENDING_AREA をコールした後に、削除中のプランがインスタンスによってSUBMIT_PENDING_AREA をコールするまでにロードされてしまうことが原因です。 |
構文
DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;
このプロシージャは、指定のセッションのリソース・コンシューマ・グループを変更します。また、トップレベルのユーザー・セッションに関連する(PQ)スレーブ・セッションのコンシューマ・グループも変更します。
構文
DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_SESS ( session_id IN NUMBER, session_serial IN NUMBER, consumer_group IN VARCHAR2);
パラメータ
表105-15 SWITCH_CONSUMER_GROUP_FOR_SESSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ビュー |
|
ビュー |
|
切り替えるコンシューマ・グループの名前。 |
このプロシージャは、指定のユーザーIDを持つすべてのセッションに対するリソース・コンシューマ・グループを変更します。また、トップレベルのユーザー・セッションに関連する(PQ)スレーブ・セッションのコンシューマ・グループも変更します。
構文
DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_USER ( user IN VARCHAR2, consumer_group IN VARCHAR2);
パラメータ
表105-16 SWITCH_CONSUMER_GROUP_FOR_USERプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ユーザーの名前。 |
|
切り替えるコンシューマ・グループの名前。 |
使用上の注意
SWITCH_CONSUMER_GROUP_FOR_SESSプロシージャおよびSWITCH_CONSUMER_GROUP_FOR_USER
プロシージャは、特定のセッションまたはユーザーのCPUリソース割当てを増減します。これにより、UNIXのnice
コマンドと類似した機能性が提供されます。
これらのプロシージャは、新規に指定されたコンシューマ・グループにセッションを即時に移動します。
このプロシージャは、現行のリソース・マネージャ・プランを設定します。
構文
DBMS_RESOURCE_MANAGER.SWITCH_PLAN( plan_name IN VARCHAR2, sid IN VARCHAR2 DEFAULT '*', allow_scheduler_plan_switches IN BOOLEAN DEFAULT TRUE);
パラメータ
表105-17 SWITCH_PLANプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
切替え先となるプランの名前。 |
|
|
|
|
このプロシージャは、リソース・コンシューマ・グループを定義するエントリを更新します。
構文
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);
パラメータ
表105-18 UPDATE_CONSUMER_GROUPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
コンシューマ・グループの名前。 |
|
新しいユーザーのコメント。 |
|
CPUリソース割当てに対する新規の方法名(非推奨)。 |
|
CPUリソース割当てに対する新規の方法名。 |
使用上の注意
UPDATE_CONSUMER_GROUP
に対するパラメータを指定しない場合、これらのパラメータは、データ・ディクショナリ内で変更されないまま残ります。
このプロシージャは、リソース・プランを定義するエントリを更新します。
構文
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_queueing_mth IN VARCHAR2 DEFAULT NULL, new_mgmt_mth IN VARCHAR2 DEFAULT NULL);
パラメータ
表105-19 UPDATE_PLANプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
リソース・プランの名前。 |
|
新しいユーザーのコメント。 |
|
CPUリソースに対する新規の割当て方法の名前(非推奨)。 |
|
アクティブな最大セッションに対する新規の方法名。 |
|
並列度に対する新規の方法名。 |
|
アクティブなセッションのプール機能で使用するキューイング・ポリシーのタイプを指定します。 |
|
コンシューマ・グループやサブ・プランがそれぞれ使用するリソース量(CPUやI/Oなど)を指定するためのリソース割当て方法。
|
使用上の注意
UPDATE_PLANプロシージャに対するパラメータを指定しない場合、これらのパラメータは、データ・ディクショナリ内に変更されないまま残ります。
デフォルトのリソース割当て方法を使用する場合は、プランの作成または更新時に方法を指定する必要はありません。
このプロシージャは、リソース・プラン・ディレクティブを更新します。
構文
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 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);
パラメータ
表105-20 UPDATE_PLAN_DIRECTIVEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
リソース・プランの名前。 |
|
コンシューマ・グループの名前またはサブプランの名前。 |
|
プラン・ディレクティブについてのコメント。 |
|
CPUリソース割当て方法の最初のパラメータ(非推奨、 |
|
CPUリソース割当て方法のパラメータ(非推奨、 |
|
CPUリソース割当て方法のパラメータ(非推奨、 |
|
CPUリソース割当て方法のパラメータ(非推奨、 |
|
CPUリソース割当て方法のパラメータ(非推奨、 |
|
CPUリソース割当て方法のパラメータ(非推奨、 |
|
CPUリソース割当て方法のパラメータ(非推奨、 |
|
CPUリソース割当て方法のパラメータ(非推奨、 |
|
コンシューマ・グループに対するアクティブな同時セッションの最大数を指定します。デフォルトの |
|
非アクティブ・セッション・キューにあるジョブ(実行待ち状態のジョブ)がタイムアウトする時間(秒)を指定します。デフォルトの |
|
任意の操作の並列度を制限します。デフォルトの |
|
他の切替え基準に達した場合に、現行セッションの切替え先となるコンシューマ・グループを指定します。デフォルトは |
|
アクションの実行前にセッションを実行できる時間(秒)を指定します。デフォルトの |
|
|
|
セッションに許可する実行時間(秒)の最大値を指定します。操作時間が |
|
コンシューマ・グループによって生成される取消しの合計量の最大値を、キロバイト( |
|
セッションのアイドル時間の最大値を示します。デフォルトの |
|
別のセッションのリソース取得をブロックしながら、セッションのアイドル状態を維持できる時間(秒)の最大値。 |
|
非推奨。 このパラメータを指定すると、 |
|
レベル1のリソース割当て値(
|
|
レベル2のリソース割当て値(
|
|
レベル3のリソース割当て値(
|
|
レベル4のリソース割当て値(
|
|
レベル5のリソース割当て値(
|
|
レベル6のリソース割当て値(
|
|
レベル7のリソース割当て値(
|
|
レベル8のリソース割当て値(
|
|
アクションの実行前にセッションが発行できるI/Oの量(MB)を指定します。デフォルトの |
|
アクションの実行前にセッションが発行できるI/Oリクエストの数を指定します。デフォルトの |
|
|
使用上の注意
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
をオンに設定した場合のクライアントのリソース使用率は、今後別のクライアントのコンシューマ・グループが偶然同じセッションで実行されても影響しません。
このプロシージャは、リソース・マネージャに対する保留中の変更内容を検証します。
構文
DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;