インシデントのフラッド制御

Enterprise Managerリリース12.1.0.4より前では、インシデント・マネージャで1つの問題に対して記録される診断インシデントの数に制限はありませんでした。問題によって、短期間の間に数十、場合によっては数百ものインシデントが生成されることも考えられます。問題が発生して早い段階で生成されたインシデントは有効ですが、特定の時点を過ぎると、過剰な診断データはほとんど価値がなく、問題の診断と解決の処理速度が低下する可能性があります。通常、診断の問題は長時間かかることが多く、一定期間に大量のインシデントが生成される可能性があります。また、管理対象の環境のサイズによっては、診断データが膨大なシステム・リソースを消費する場合もあります。

これらの理由から、Enterprise Managerは、インシデント・マネージャで特定の問題に対して発生する可能性のある診断インシデントの数にフラッド制御制限を適用します。フラッド制御インシデントは、診断データによりシステムに過大な負荷をかけることなく、クリティカル・エラーが継続的に発生していることを知らせる手段となります。

Enterprise Managerリリース12.1.0.4以上では、インシデント・マネージャの特定の問題に対して発生する可能性のある診断インシデントの数に2つの制限が適用されます。1つの問題は、問題キーと呼ばれる一意の問題シグネチャによって識別され、1つのターゲットに関連付けられます。

Enterprise Managerによる診断インシデントの制限

Enterprise Managerは、診断インシデントに2つの制限を適用します。

  • いずれかの1時間について、Enterprise Managerは、指定したターゲットと問題キーの組合せに対し、最大で5つ(デフォルト値)の診断インシデントを記録します。

  • いずれかの1日について、Enterprise Managerは、指定したターゲットと問題キーの組合せに対し、最大で25(デフォルト値)の診断インシデントを記録します。

いずれかの制限に到達すると、同じターゲット/問題キーの組合せの診断インシデントは、対応する時間または日を超えるまで記録されなくなります。新しい時間または日が始まると、診断インシデントの記録が開始されます。

ノート:

時間および日の計算はUTC (またはGMT)をベースに行われます。

これらの診断インシデントの制限は、インシデント・マネージャにのみ適用され、基礎となっているADRには適用されません。ADRリポジトリでは、引き続きすべてのインシデントが記録されます。Enterprise Managerのサポート・ワークベンチを使用すると、いつでも問題のインシデントをすべて表示でき、適切な処理を行うことができます。

Enterprise Managerの診断インシデント制限は構成可能です。前述のとおり、これらの2つの制限のデフォルトは1時間に5つ、1日に25のインシデントに設定されています。これらのデフォルトは、すべての診断インシデントを追跡するというビジネス上の特別な理由がないかぎり、変更しないでください。

Enterprise Managerの診断インシデント制限の変更

診断制限を更新するには、次の例に示すとおり、適切な制限値を使用し、SYSMANユーザーでEnterprise Managerリポジトリに対して次のSQLを実行します。

次の例に示すPL/SQLは、現在の制限を出力します。

ノート:

Enterprise Managerのインシデント制限は、Oracle Database、MiddlewareおよびFusion Applicationsなどの基礎となるアプリケーションによって適用される診断インシデント制限に追加されるものです。これらの制限は、各アプリケーションに固有です。詳細は、それぞれのアプリケーションのドキュメントを参照してください。

例5-3 診断インシデント制限を変更するためのSQL

exec  EM_EVENT_UTIL.SET_ADR_INC_LIMITS(5,25);

例5-4 現在の診断インシデント制限を出力するSQL

DECLARE
  l_adr_hour_limit NUMBER;
  l_adr_day_limit NUMBER;
BEGIN
      em_event_util. GET_ADR_INC_LIMITS
              (p_hourly_limit => l_adr_hour_limit,
               p_daily_limit => l_adr_day_limit);
      dbms_output.put_line(l_adr_hour_limit || '-' || l_adr_day_limit);
END;