2009-05-21 12 views
2

Oracle 10g Resource Managerを初めて使用しており、目標を達成するための計画をまとめる方法についてのガイダンスを探しています。私は計画をテストしますが、いくつかのガイダンスを期待しているので、何百もの異なる計画構成を試す必要はありません。私は以下の目標を持っています:Oracle Resource Manager計画の設計

  1. sys以外のセッションがsysセッションを大幅に遅くしないようにしてください。
  2. OLTPユーザーセッションで他のOLTPユーザーセッションの速度が大幅に低下しないようにします。
  3. バッチ処理がOLTPを遅くしないようにします。

は、これらの目標を考えると、私の最初に考えたのは、以下の消費者団体/プラン・ディレクティブを作成することです。(10人のユーザを想定して)各OLTPユーザーが異なるOLTPグループに入れることができ、この方法を使用して

Consumer Group  Level 1  Level 2 Level 3 
SYS     100%   0%  0% 
OLTP1     0%   10%  0% 
OLTP2     0%   10%  0% 
OLTP3     0%   10%  0% 
OLTP4     0%   10%  0% 
OLTP5     0%   10%  0% 
OLTP6     0%   10%  0% 
OLTP7     0%   10%  0% 
OLTP8     0%   10%  0% 
OLTP9     0%   10%  0% 
OLTP10     0%   10%  0% 
BATCH     0%   0%  100% 

。このドキュメントはあまり明確ではありませんが、OLTP1グループのOLTPユーザーが10%以上のシェアを必要とするように思えます。私の理解は正確ですか?これはうまくいくのでしょうか、それとも良い方法がありますか?

答えて

3

私はこれを少し簡略化し、同じ要件がある場合は、OLTP用に1つのグループを作成します。その新しいグループが優先順位の点で他のグループと異なる要件を持つ場合にのみ、新しいグループを作成します。また、OLTPユーザーが長時間実行しているヘビーデューティ・プロセスを開始したときに、このセッションがバッチ・グループに切り替えられたか、まったく開始されていないことを確認してください。 リソースマネージャーは、CPU消費が100%の場合にのみ起動します。その時点から、リソースを分割して、各グループが指示に基づいて取得する必要があることを確認します。 他にも、最大並列度、セッションプール、および(11g以上から)使用とioの制限を元に戻すことが考えられます。

よろしく、 ロナルド応答のための http://ronr.blogspot.com

+0

感謝。私はまだ試してみることはありません。私が複数のOLTPグループを作成した理由は、他のOLTPアプリケーションが他のOLTPアプリケーションを踏みにじることがないようにするためです。彼らがすべて同じグループにいた場合、暴走しているアプリケーションは、そのグループのすべての処理時間を潜在的に使用して、他のアプリケーションには何も残さない可能性があります。消費量が100%に達したときにそれらを分離することにより、暴走しているOLTPアプリケーションが10%に抑えられ、他のOLTPアプリケーションの処理時間が大幅に短縮されます。これは合理的だと思いますか? –

+1

それは妥当だと思うが少し重い。そのような暴走プロセスをバッチグループに切り替えたり、CPU使用量のプロファイル制限に達したときに終了させることさえできます。 –

+0

+1自動アクション切り替えは、実行時間に達したとき、i/o MB制限に達したとき、またはI/O要求制限に達したときにのみ切り替えることができるように見えます。私が望むのは、他のOLTPセッションを妨害している場合、バッチグループにセッションを転送することですが、これらの切り替え基準からはわかりません。 –