対策する資格
Java Silver ・ 近日ORACLE Silver ・ 近日
Gold 保有者 監修1Z0-083 対応
リソースマネージャ(CPU 制御)難易度 高無料

Database Resource Manager で、コンシューマグループ REPORTS に対しレベル1で MGMT_P1=25(CPU 配分 25%)の管理(配分)ディレクティブを設定したリソースプランを有効化している。一方、REPORTSUTILIZATION_LIMITMAX_UTILIZATION_LIMIT)は設定していない。

サーバの CPU が飽和していない(空きがある)時間帯に、REPORTS グループのセッションだけが重い問合せを1本実行した。このセッションが使える CPU として最も適切なものを選べ。(単一選択)

  1. AMGMT_P1=25 が絶対上限として働くため、CPU に空きがあっても REPORTS常に最大 25% しか使えない
  2. BCPU 配分ディレクティブ(MGMT_Pn)はCPU が飽和して競合が起きているときにのみ配分比として作用する。CPU に空きがある今は抑制されず、REPORTS25% を超えて利用可能(必要なら 100% 近くまで)。25% を絶対上限にしたいなら UTILIZATION_LIMIT を別途設定する必要がある
  3. Cリソースプランが有効な時点で全グループは MGMT_Pn の値で常時固定割り当てされ、空き CPU は他へ回らず遊休する
  4. DMGMT_P1 は I/O 帯域の配分専用で、CPU 使用量には影響しない
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:BGold監修

解説

Resource Manager の CPU 配分(management)ディレクティブ MGMT_Pn は、CPU が飽和して取り合いになったときに、誰に何%ずつ配るかを決めるものである。 言い換えると競合時にだけ効く比率であり、CPU に余裕があるときは抑制しない。

したがって CPU に空きがある時間帯に REPORTS だけが走っているなら、競合が無いので 25% という比率は作用せず、必要なだけ CPU を使える(100% 近くまで)

「空いていても絶対に 25%(あるいは指定%)を超えさせたくない」=ハードキャップが欲しい場合は、配分ディレクティブではなく UTILIZATION_LIMITMAX_UTILIZATION_LIMITを設定する。これは CPU に空きがあっても絶対上限として頭を抑える

この「配分(competition 時のみ) vs 絶対上限(常時キャップ)」の違いが本問の核心。

各誤答が違う理由
  • AMGMT_Pn は絶対上限ではない。絶対上限は UTILIZATION_LIMIT。空きがあれば 25% を超えて使える。
  • C空き CPU を遊休させて固定割り当てするのではない。競合が無ければ抑制せず使わせる(リソースを無駄にしない設計)。
  • DMGMT_Pn は CPU 配分のディレクティブ。I/O 専用ではない(I/O は別の仕組み)。
ひっかけ:MGMT_P1=25 = 上限 25%」と読む誤り(A)。これは競合時の配分比であって絶対上限ではない。 絶対上限が必要なら UTILIZATION_LIMIT を使う、という配分 vs キャップの区別が頻出ポイント。
Gold 保有者による書き下ろし解説・実機で検証済
この分野をもっと解いて、得点源に
リソースマネージャ を含む全問を分野別に演習できます(無料)。
演習する →