Oracle リソースマネージャの仕様を確認
CPU を管理するリソースマネージャ。12c のマルチテナントに対応し、CDB (コンテナデータベース)、PDB (プラガブルデータベース)での CPU リソース制御が可能となった。
複数 PDB が存在する環境では、Oracle で使用可能なリソースに対し、各 PDB でどれだけ許容するかを設定する。
share ディレクティブ
share ディレクティブには、 CPU リソース(utilizaztion_limit)と、パラレルサーバ比率(parallel_server_limit)について設定する。例えばある PDBに、share=2 とした場合、share=1 が指定された PDB と比べ、2倍のリソースを使用することが出来る。
この share 値から算出した全体サイズに対し、CPU リソース(utilizaztion_limit) と、パラレルサーバ比率(parallel_server_limit) でどのように割り振るのかを指定する。
utilizaztion_limit と parallel_server_limit パラメータ
例えば、2つの PDB がある場合。
PDB01: share=1、utilizaztion_limit=90、parallel_server_limit=50
全体リリースの 25% を割当てられ、
そのうち CPU リソースは90% まで、パラレルサーバ実行の比率は50%まで。
PDB02: share=3、utilizaztion_limit=100、parallel_server_limit=100
全体リリースの 75% を割当てられ、
そのうち CPU リソースと、パラレルサーバ実行の比率は100%。
つまり無制限( 75% をフルに使える)
パラレルサーバ比率(parallel_server_limit)の最大値は、
初期化パラメータ「parallel_servers_target」をもとに比率で算出する。
CDB リソースプランを使用するための準備
ペンディングエリアを作成後に、dbms_resource_manager パッケージで
提供されているプロシージャを使用する。
create_cdb_plan プロシージャ
CDB リソースプランの作成
create_cdb_plan プロシージャを実行すると、自動化メンテナンスタスク(ora$autotask)とPDB デフォルト割当て(ora$default_pdb_directive)のリソースプランが作成される。
自動化メンテナンスタスク(ora$autotask)のデフォルト
share=-1
utilizaztion_limit=90
parallel_server_limit=100
share=-1 だけ特殊で、20%指定した意味になる。
create_cdb_plan_directive プロシージャ
CDB リソースプランディレクティブ作成
update_cdb_plan_directive プロシージャ
CDB リソースプランディレクティブ変更
CDB リソースプランの確認 SQL
リソースプランの確認では、dba_cdb_rsrc_plan_directives を参照する。
SQL> select plan, pluggable_database, shares, utilization_limit, parallel_server_limit from dba_cdb_rsrc_plan_directives;