ablog

不器用で落着きのない技術者のメモ

UNDO表領域使用率の警告アラート閾値を変更してみる

自動UNDOチューニングについて - ablog のつづき。
UNDO表領域使用率の警告アラート値を実際に変更してみる。

  • dba_thresholds の定義を確認する。
desc dba_thresholds
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 METRICS_NAME                                       VARCHAR2(64)
 WARNING_OPERATOR                                   VARCHAR2(12)
 WARNING_VALUE                                      VARCHAR2(256)
 CRITICAL_OPERATOR                                  VARCHAR2(12)
 CRITICAL_VALUE                                     VARCHAR2(256)
 OBSERVATION_PERIOD                                 NUMBER
 CONSECUTIVE_OCCURRENCES                            NUMBER
 INSTANCE_NAME                                      VARCHAR2(16)
 OBJECT_TYPE                                        VARCHAR2(64)
 OBJECT_NAME                                        VARCHAR2(513)
 STATUS                                             VARCHAR2(7)
  • dba_thresholds を見てみる。
set linesize 200
col METRICS_NAME for a22
col WARNING_OPERATOR for a2
col WARNING_VALUE for a2
col CRITICAL_OPERATOR for a2
col CRITICAL_VALUE for a2
col OBSERVATION_PERIOD for 99
col CONSECUTIVE_OCCURRENCES for 99
col INSTANCE_NAME for a13
col OBJECT_TYPE for a10
col OBJECT_NAME for a1
col STATUS for a6
select * from dba_thresholds;

METRICS_NAME           WA WA CR CR OBSERVATION_PERIOD CONSECUTIVE_OCCURRENCES INSTANCE_NAME OBJECT_TYP O STATUS
---------------------- -- -- -- -- ------------------ ----------------------- ------------- ---------- - ------
Tablespace Space Usage GE 85 GE 97                  1                       1 database_wide TABLESPACE   VALID
  • UNDO表領域名を確認する。
select value from v$parameter where name='undo_tablespace';

VALUE
--------------------------------------------------------------------------------
UNDOTBS1
  • UNDO表領域の警告アラート閾値を変更してみる。
BEGIN
DBMS_SERVER_ALERT.SET_THRESHOLD(
metrics_id => DBMS_SERVER_ALERT.TABLESPACE_PCT_FULL,
warning_operator => DBMS_SERVER_ALERT.OPERATOR_GT,
warning_value => '50',
critical_operator => DBMS_SERVER_ALERT.OPERATOR_GT,
critical_value => '85',
observation_period => 1,
consecutive_occurrences => 1,
instance_name => NULL,
object_type => DBMS_SERVER_ALERT.OBJECT_TYPE_TABLESPACE,
object_name => 'UNDOTBS1');
END;
/
  • 確認してみる。
set linesize 200
col METRICS_NAME for a22
col WARNING_OPERATOR for a2
col WARNING_VALUE for a2
col CRITICAL_OPERATOR for a2
col CRITICAL_VALUE for a2
col OBSERVATION_PERIOD for 99
col CONSECUTIVE_OCCURRENCES for 99
col INSTANCE_NAME for a13
col OBJECT_TYPE for a10
col OBJECT_NAME for a8
col STATUS for a6
select * from dba_thresholds;

METRICS_NAME           WA WA CR CR OBSERVATION_PERIOD CONSECUTIVE_OCCURRENCES INSTANCE_NAME OBJECT_TYP OBJECT_N STATUS
---------------------- -- -- -- -- ------------------ ----------------------- ------------- ---------- -------- ------
Tablespace Space Usage GE 85 GE 97                  1                       1 database_wide TABLESPACE          VALID
Tablespace Space Usage GT 50 GT 85                  1                       1 database_wide TABLESPACE UNDOTBS1 VALID

とりあえずできた。これでいいんだか。未検証。気が向いたらやってみる予定。