1、确认现有的metric
SQL>conn / as sysdba
已连接。
SQL>select count(1) from dba_thresholds
COUNT(1)
----------
22
2、创建表空间
SQL>select metric_id,metric_name from v$metricname where metric_name like'%space%'
2
METRIC_ID METRIC_NAME
---------- ----------------------------------------------------------------
9001 Tablespace Bytes Space Usage
9000 Tablespace Space Usage
SQL>create tablespace tbs_lw datafile '/opt/oracle/oradata/charge/tbs_lw01.dbf' size 10m
表空间已创建。
3、创建新的metric
SQL>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, 'TBS_LW')END
2 /
PL/SQL 过程已成功完成。
4、查看新创建的metric
SQL>select count(1) from dba_thresholds
COUNT(1)
----------
23
SQL>SELECT warning_value, critical_value, status FROM dba_thresholds WHERE metrics_name = 'Tablespace Space Usage' AND object_name = 'TBS_LW'
WARNING_VALUECRITICAL_VALUE STATUS
-------------------- -------------------- -------
80 95 VALID
5、模拟一个表数据增长达到threshold
SQL>create table t1 tablespace tbs_lw as select * from user_objects
表已创建。
SQL>select count(*) from t1
COUNT(*)
----------
30060
SQL>insert into t1 select * from t1 where rownum<4001
已创建4000行。
SQL>insert into t1 select * from t1 where rownum<4001
已创建4000行。
SQL>commit
提交完成。
6、查看是否生效
SQL>SELECT reason, message_level,DECODE(message_level, 5, 'WARNING', 1, 'CRITICAL') ALERT_LEVEL FROM dba_outstanding_alerts WHERE object_name = 'TBS_LW'
REASON MESSAGE_LEVEL ALERT_LE
-------------------------------------------------- ------------- --------
表空间 [TBS_LW] 已占用 [90 Percent]5 WARNING
7、停用metric
SQL>BEGIN dbms_server_alert.set_threshold (dbms_server_alert.tablespace_pct_full,dbms_server_alert.operator_do_not_check, '0',dbms_server_alert.operator_do_not_check, '0', 1, 1, NULL,dbms_server_alert.object_type_tablespace, 'TBS_LW')END
2 /
PL/SQL 过程已成功完成。
SQL>SELECT warning_value, critical_value, status FROM dba_thresholds WHERE metrics_name = 'Tablespace Space Usage' AND object_name = 'TBS_LW'
WARNING_VALUECRITICAL_VALUE STATUS
-------------------- -------------------- -------
00VALID
8、取消metric
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, 'TBS_LW')END
2 /
PL/SQL 过程已成功完成。
SQL>SELECT warning_value, critical_value, status FROM dba_thresholds WHERE metrics_name = 'Tablespace Space Usage' AND object_name = 'TBS_LW'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)