149 DBMS_SERVER_ALERT
DBMS_SERVER_ALERT
パッケージを使用すると、特定のサーバーのメトリックがしきい値を超えた場合にアラートを発行するようにOracle Databaseサーバーを構成できます。大量の事前定義済メトリックに対して、警告のしきい値およびクリティカルのしきい値を設定できます。
警告のしきい値に達すると、重大度レベル5のアラートが生成されます。クリティカルのしきい値に達すると、重大度レベル1のアラートが生成されます。
この章の内容は次のとおりです。
149.1 DBMS_SERVER_ALERTのセキュリティ・モデル
DBMS_SERVER_ALERT
パッケージを使用するには、ユーザーにDBA
ロールまたはIMP_FULL_DATABASE
ロールが必要です。
149.2 DBMS_SERVER_ALERTのオブジェクト・タイプ
リストされたオブジェクト・タイプに対するメトリックを、オブジェクトごとに限定します。
表149-1 定数として定義するオブジェクト・タイプ
定数 | 説明 |
---|---|
|
各インスタンスについてシステム・レベルで収集されるメトリック。 |
|
ファイル・レベルで収集されるメトリック。 |
|
サービス・レベルで収集されるメトリック。現在は、 |
|
表領域レベルで収集されるメトリック。 ノート: ディクショナリ管理の表領域はサポートされていません。 |
|
待機イベント・クラス・レベルで収集されるメトリック。現在サポートされているメトリックは、 |
|
セッション・レベルで収集されるメトリック。現在は、 |
|
リプレイ・クライアントのパフォーマンスを監視するために、リプレイ時に使用されるメトリックのグループ( |
149.3 DBMS_SERVER_ALERTの関係演算子
関係比較演算子を指定して、任意のメトリックの値がしきい値の設定範囲を超えていないかどうかを決定できます。サーバーでは次の演算子がサポートされます。
表149-2 定数として定義する関係演算子
定数 | 説明 |
---|---|
|
メトリック値がしきい値のリストのエントリと一致する場合は、エラーとみなされます。 |
|
メトリック値はしきい値と比較されず、アラートは生成されません。この演算子は、メトリックに対するアラートを無効にする場合に使用します。 |
|
しきい値と等しいメトリック値はエラーとみなされます。 |
|
しきい値以上のメトリック値はエラーとみなされます。 |
|
しきい値を超えるメトリック値はエラーとみなされます。 |
|
しきい値以下のメトリック値はエラーとみなされます。 |
|
しきい値未満のメトリック値はエラーとみなされます。 |
|
しきい値と等しくないメトリック値はエラーとみなされます。 |
149.4 DBMS_SERVER_ALERTのサポートされるメトリック
次のメトリックがサポートされます。メトリックのすべての内部名は、パッケージの定数として提供されます。
表149-3 サポートされるメトリックのリスト
メトリック名(内部) | メトリック名(外部) | 単位 |
---|---|---|
|
ファイル読取り平均時間 |
マイクロ秒 |
|
ファイル書込み平均時間 |
マイクロ秒 |
|
待機イベント・クラスの待機中ユーザーの平均数 |
セッション数 |
|
一部のセッションによってブロックされたユーザーの数 |
ユーザー数 |
|
ブランチ・ノード分割(毎秒) |
分割数/秒 |
|
ブランチ・ノード分割(トランザクション単位) |
分割数/トランザクション |
|
バッファ・キャッシュ・ヒット(%) |
キャッシュ・アクセスに占めるパーセント |
|
整合性のある変更(毎秒) |
変更数/秒 |
|
整合性のある変更(トランザクション単位) |
変更数/トランザクション |
|
整合性のある取得(毎秒) |
取得数/秒 |
|
整合性のある取得(トランザクション単位) |
取得数/トランザクション |
|
作成済CRブロック(毎秒) |
ブロック数/秒 |
|
作成済CRブロック(トランザクション単位) |
ブロック数/トランザクション |
|
適用済CR UNDOレコード(毎秒) |
レコード数/秒 |
|
適用済CR UNDOレコード(トランザクション単位) |
レコード数/トランザクション |
|
カーソル・キャッシュ・ヒット(%) |
ソフト解析に占めるパーセント |
|
データベース待機時間(%) |
全データベース時間に占めるパーセント |
|
データベースCPU時間(%) |
全データベース時間に占めるパーセント |
|
DBブロック取得(毎秒) |
取得数/秒 |
|
DBブロック取得(トランザクション単位) |
取得数/トランザクション |
|
待機イベント・クラスで待機中に消費したデータベース時間のパーセント |
データベース時間に占めるパーセント |
|
DBWRチェックポイント(毎秒) |
チェックポイント数/秒 |
|
ディスクのソート(毎秒) |
ソート数/秒 |
|
ディスクのソート(トランザクション単位) |
ソート数/トランザクション |
|
各サービスのユーザー・コールごとの経過時間 |
マイクロ秒/コール |
|
エンキュー・デッドロック(毎秒) |
デッドロック数/秒 |
|
エンキュー・デッドロック(トランザクション単位) |
デッドロック数/トランザクション |
|
エンキュー要求(毎秒) |
要求数/秒 |
|
エンキュー要求(トランザクション単位) |
要求数/トランザクション |
|
エンキュー・タイムアウト(毎秒) |
タイムアウト数/秒 |
|
エンキュー・タイムアウト(トランザクション単位) |
タイムアウト数/トランザクション |
|
エンキュー待機(毎秒) |
待機数/秒 |
|
エンキュー待機(トランザクション単位) |
待機数/トランザクション |
|
解析なしの実行 |
全実行に占めるパーセント |
|
高速全索引スキャン(毎秒) |
スキャン数/秒 |
|
高速全索引スキャン(トランザクション単位) |
スキャン数/トランザクション |
|
グローバル・キャッシュCR要求 |
ミリ秒 |
|
グローバル・キャッシュ現行要求 |
ミリ秒 |
|
グローバル・キャッシュ・ブロック破損 |
ブロック |
|
グローバル・キャッシュ・ブロック消失 |
ブロック |
|
ハード解析(毎秒) |
解析数/秒 |
|
ハード解析(トランザクション単位) |
解析数/トランザクション |
|
リーフ・ノード分割(毎秒) |
分割数/秒 |
|
リーフ・ノード分割(トランザクション単位) |
分割数/トランザクション |
|
ライブラリ・キャッシュ・ヒット(%) |
キャッシュ・アクセスに占めるパーセント |
|
ライブラリ・キャッシュ・ミス(%) |
キャッシュ・アクセスに占めるパーセント |
|
現在のログオン数 |
ログオン数 |
|
累積ログオン(毎秒) |
ログオン回数/秒 |
|
累積ログオン(トランザクション単位) |
ログオン数/トランザクション |
|
全表スキャン(毎秒) |
スキャン数/秒 |
|
全表スキャン(トランザクション単位) |
スキャン数/トランザクション |
|
累積オープン・カーソル(毎秒) |
カーソル数/秒 |
|
メモリー内ソート(%) |
ソートに占めるパーセント |
|
ネットワーク・バイト(毎秒) |
バイト数/秒 |
|
現在のカーソル数 |
カーソル数 |
|
累積オープン・カーソル(トランザクション単位) |
カーソル数/トランザクション |
|
オペレーティング・システム・スケジューラCPU待機(時間) |
マイクロ秒 |
|
解析失敗(毎秒) |
解析数/秒 |
|
解析失敗(トランザクション単位) |
解析数/トランザクション |
|
PGAキャッシュ・ヒット(%) |
PGA内で処理されるバイト数のパーセント |
|
物理設計待機(セッション数) |
セッション数 |
|
物理読取り(毎秒) |
読取り数/秒 |
|
物理読取り(トランザクション単位) |
読取り数/トランザクション |
|
物理書込み(毎秒) |
書込み数/秒 |
|
物理書込み(トランザクション単位) |
書込み数/トランザクション |
|
直接物理読取り(毎秒) |
読取り数/秒 |
|
直接物理読取り(トランザクション単位) |
読取り数/トランザクション |
|
直接物理書込み(毎秒) |
書込み数/秒 |
|
直接物理書込み(トランザクション単位) |
書込み数/トランザクション |
|
直接LOB物理読取り(毎秒) |
読取り数/秒 |
|
直接LOB物理読取り(トランザクション単位) |
読取り数/トランザクション |
|
直接LOB物理書込み(毎秒) |
書込み数/秒 |
|
直接LOB物理書込み(トランザクション単位) |
書込み数/トランザクション |
|
プロセス制限使用率(%) |
最大値に占めるパーセント |
|
低下したパラレル操作(毎秒) |
操作数/秒 |
|
25%以上の低下(毎秒) |
操作数/秒 |
|
50%以上の低下(毎秒) |
操作数/秒 |
|
75%以上の低下(毎秒) |
操作数/秒 |
|
シリアルまで低下(毎秒) |
操作数/秒 |
|
適用済ロールバックUNDOレコード(毎秒) |
レコード数/秒 |
|
適用済ロールバックUNDOレコード(トランザクション単位) |
レコード数/トランザクション |
|
REDOログ割当てのヒット |
REDO割当てに占めるパーセント |
|
生成済REDO(毎秒) |
REDOログのバイト数/秒 |
|
生成済REDO(トランザクション単位) |
REDOログのバイト数/トランザクション |
|
REDO書込み(毎秒) |
書込み数/秒 |
|
REDO書込み(トランザクション単位) |
書込み数/トランザクション |
|
再帰的コール(毎秒) |
コール数/秒 |
|
再帰的コール(トランザクション単位) |
コール数/トランザクション |
|
応答(トランザクション単位) |
秒/トランザクション |
|
1回のソートで処理する行数 |
行数/ソート |
|
セッションの論理読取り(毎秒) |
読取り数/秒 |
|
セッションの論理読取り(トランザクション単位) |
読取り数/トランザクション |
|
データベースCPU(毎秒) |
マイクロ秒/秒 |
|
データベースCPU(トランザクション単位) |
マイクロ秒/トランザクション |
|
セッション制限使用率(%) |
最大値に占めるパーセント |
|
共有プール空き領域(%) |
共有プールに占めるパーセント |
|
ソフト解析(%) |
全解析に占めるパーセント |
|
サービス応答(実行単位) |
秒 |
|
表領域の領域使用率 |
全領域に占めるパーセント |
|
表領域の領域使用バイト数 |
空き領域(KB) |
|
表スキャン合計(毎秒) |
スキャン数/秒 |
|
表スキャン合計(トランザクション単位) |
スキャン数/トランザクション |
|
索引スキャン合計(毎秒) |
スキャン数/秒 |
|
索引スキャン合計(トランザクション単位) |
スキャン数/トランザクション |
|
解析合計(毎秒) |
解析数/秒 |
|
解析合計(トランザクション単位) |
解析数/トランザクション |
|
ユーザー・コミット(毎秒) |
コミット数/秒 |
|
ユーザー・コミット(トランザクション単位) |
コミット数/トランザクション |
|
ユーザー・ロールバック(毎秒) |
ロールバック数/秒 |
|
ユーザー・ロールバック(トランザクション単位) |
ロールバック数/トランザクション |
|
ユーザー・コール(毎秒) |
コール数/秒 |
|
ユーザー・コール(トランザクション単位) |
コール数/トランザクション |
|
ユーザー・コール(%) |
全コールに占めるパーセント |
|
ユーザー制限使用率(%) |
最大値に占めるパーセント |
|
平均IO応答時間(WRCクライアント用) |
ミリ秒 |
|
CPU上のリプレイ・スレッドのパーセント(WRCクライアント用) |
全リプライ・スレッドに占めるパーセント |
|
IOを実行するリプレイ・スレッドのパーセント(WRCクライアント用) |
全リプライ・スレッドに占めるパーセント |
149.5 DBMS_SERVER_ALERTサブプログラムの要約
この表は、DBMS_SERVER_ALERT
サブプログラムを示し、簡単に説明しています。
表149-4 DBMS_SERVER_ALERTパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
アラート・メッセージを拡張します。 |
|
指定メトリックの現行のしきい値設定を取得します。 |
|
指定メトリックに対して、警告のしきい値およびクリティカルのしきい値を設定します。 |
149.5.1 EXPAND_MESSAGEファンクション
このファンクションは、アラート・メッセージを拡張します。
構文
DBMS_SERVER_ALERT.EXPAND_MESSAGE( user_language IN VARCHAR2, message_id IN NUMBER, argument_1 IN VARCHAR2, argument_2 IN VARCHAR2, argument_3 IN VARCHAR2, argument_4 IN VARCHAR2, argument_5 IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表149-5 EXPAND_MESSAGEファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
現行セッションの言語。 |
|
アラート・メッセージのID。 |
|
アラート・メッセージ内の第1引数。 |
|
アラート・メッセージ内の第2引数。 |
|
アラート・メッセージ内の第3引数。 |
|
アラート・メッセージ内の第4引数。 |
|
アラート・メッセージ内の第5引数。 |
149.5.2 GET_THRESHOLDプロシージャ
このプロシージャは、指定メトリックの現行のしきい値設定を取得します。
構文
DBMS_SERVER_ALERT.GET_THRESHOLD( metrics_id IN BINARY_INTEGER, warning_operator OUT BINARY_INTEGER, warning_value OUT VARCHAR2, critical_operator OUT BINARY_INTEGER, critical_value OUT VARCHAR2, observation_period OUT BINARY_INTEGER, consecutive_occurrences OUT BINARY_INTEGER, instance_name IN VARCHAR2, object_type IN BINARY_INTEGER, object_name IN VARCHAR2);
パラメータ
表149-6 GET_THRESHOLDプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
メトリックの内部名。「サポートされるメトリック」を参照してください。 |
|
実際の値を警告のしきい値と比較するための演算子。 |
|
警告のしきい値。 |
|
実際の値をクリティカルのしきい値と比較するための演算子。 |
|
クリティカルのしきい値。 |
|
メトリック値の算出結果をしきい値設定と照合して検証する時間。 |
|
メトリック値がしきい値に何回違反したらアラートを発行するかを規定する、監視期間の数。 |
|
しきい値が設定されるインスタンスの名前。データベース全体のアラートの場合、 |
|
|
|
オブジェクトの名前。 |
使用上のノート
このサブプログラムは、instance_name
パラメータの値が意味のある値または有効な値であるかどうかをチェックしないことに注意してください。
149.5.3 SET_THRESHOLDプロシージャ
このプロシージャは、指定メトリックに対して、警告のしきい値およびクリティカルのしきい値を設定します。
構文
DBMS_SERVER_ALERT.SET_THRESHOLD( metrics_id IN BINARY_INTEGER, warning_operator IN BINARY_INTEGER, warning_value IN VARCHAR2, critical_operator IN BINARY_INTEGER, critical_value IN VARCHAR2, observation_period IN BINARY_INTEGER, consecutive_occurrences IN BINARY_INTEGER, instance_name IN VARCHAR2, object_type IN BINARY_INTEGER, object_name IN VARCHAR2);
パラメータ
表149-7 SET_THRESHOLDプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
メトリックの内部名。サポートされるメトリックを参照してください。 |
|
実際の値を警告のしきい値と比較するための演算子( |
|
警告のしきい値。警告のしきい値が設定されていない場合、 |
|
実際の値をクリティカルのしきい値と比較するための演算子。関係演算子を参照してください。 |
|
クリティカルのしきい値。設定しない場合は |
|
メトリック値の算出結果をしきい値設定と照合して検証する時間。有効な範囲は、1から60分です。 |
|
メトリック値がしきい値に何回違反したらアラートを発行するかを規定する、監視期間の数。 |
|
しきい値が設定されるインスタンスの名前。データベース全体のアラートの場合、 |
|
「オブジェクト・タイプ」を参照してください。 |
|
オブジェクトの名前。 |
使用上のノート
このサブプログラムは、instance_name
パラメータの値が意味のある値または有効な値であるかどうかをチェックしないことに注意してください。有効なインスタンスを特定できない名前を渡すと、DBA_THRESHOLDS
ビューでしきい値の設定が表示されている場合でも、そのしきい値はいずれのインスタンスでも使用されません。例外は小文字のdatabase_wideで、インスタンス名にNULL
を渡す場合と同じ結果が得られます(後者の方法をお薦めします)。