度量閥值預警總結

lusklusklusk發表於2016-01-14

總結:

1.       建立和刪除度量都是使用DBMS_SERVER_ALERT.SET_THRESHOLD

2.       度量資訊記錄在dba_thresholds檢視中

3.       度量值超過閥值時的預警資訊記錄在dba_outstanding_alerts檢視中

4.       度量值超過閥值時多久後會記錄在dba_outstanding_alerts,主要是看observation_periodconsecutive_occurrences。(例如, 如果每 5 分鐘收集一次度量值, 發生次數設定為 6, 則在觸發預警之前, 度量值 (連續收集的) 必須保持高於閾值狀態 30 分鐘。)

5.       dba_outstanding_alerts中記錄多久會消失,只有度量值降低到閥值以下後,再需要經歷observation_period長度的時間後就會消失(observation_period其實就是系統產生一個job多長時間去掃描一次度量值)

6.       怎麼定時按observation_period頻率去獲取度量資訊,應該是一個系統自動生成的scheduler來實現的

7.       dba_outstanding_alerts檢視中產生新的資訊後並不會出現在alert檔案中,當然刪除舊資訊後也不會出現在alert檔案中

8.  當然實際中這個功能基本很少使用,主要是因為不清楚當度量值達到報警閥值時是如何觸發相關報警時的動作(不知是用什麼包來操作的),只能透過OEM來配置觸發報警時呼叫一些OS等命令

 

 

EM\可用性\相關連結\度量和策略設定\度量閥值

EM \主目錄\預警

最主要的三個物件dbms_server_alert.set_thresholddba_thresholdsdba_outstanding_alerts

其他一些物件基本沒有用:dba_alert_historyDBA_HIST_SYSMETRIC_HISTORYDBA_HIST_METRIC_NAMEV$METRIC_HISTORY

 

 

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);

 

observation_period

The period at which the metric values are computed and verified against the threshold setting. The valid range is 1 to 60 minutes.

 

consecutive_occurrences

The number of observation periods the metric value should violate the threshold value before the alert is issued.

consecutive_occurrences發生次數:決定了在觸發預警之前收集的度量值必須保持高於閾值狀態的時段。例如, 如果每 5 分鐘收集一次度量值, 發生次數設定為 6, 則在觸發預警之前, 度量值 (連續收集的) 必須保持高於閾值狀態 30 分鐘。

 

instance_name

The name of the instance for which the threshold is set. This is NULL for database-wide alerts.

 

 

 

 

例子

對錶空間TEST6建立一個度量,超過30%警告,超過50%嚴重,每1分鐘收集一次,只連續收集一次發現達到閥值就夠了

BEGIN

dbms_server_alert.set_threshold

(dbms_server_alert.tablespace_pct_full,

dbms_server_alert.operator_ge, 30,

dbms_server_alert.operator_ge, 50,

1,

1,

NULL,

dbms_server_alert.object_type_tablespace, 'TEST6');

END;

 

之後在dba_thresholds檢視中會出現OBJECT_NAME='TEST6'的資訊


 

再開始不停往T101表空間對應的資料檔案中插入資料,當達到閥值後,dba_outstanding_alerts檢視中即會出現OBJECT_NAME='TEST6'的資訊


 

 

刪除度量,只需要要將warning_operator ,warning_value,critical_operator,critical_value 四個引數值置為NULL即可

BEGIN

dbms_server_alert.set_threshold

(dbms_server_alert.tablespace_pct_full,

null, null,

null, null,

1,

1,

NULL,

dbms_server_alert.object_type_tablespace, 'TEST6');

END;

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-1976639/,如需轉載,請註明出處,否則將追究法律責任。

相關文章