oracle 锁阈值,ORACLE THRESHOLD (度量阀值)监控表空间

ORACLE THRESHOLD (度量阀值)监控表空间

1、使用 DBMS_SERVER_ALERT.SET_THRESHOLD过程设置针对本地管理的表空间的相关阀值。

2、DBA_OUTSTANDING_ALERTS告警信息可以查看这个视图

3、DBA_ALERT_HISTORY,如果告警信息解决后,DBA_OUTSTANDING_ALERTS中记录的告警信息会转换到DBA_ALERT_HISTORY视图中,但是reason字段的值会被修改为修正后的内容。

cfacb14d3ddb08c8cdaf6752c9e243be.png 7 percent 是修正后计算的百分比

ORACLE设置THRESHOLD演示

--查看空间管理相关metric

SQL> col metric_name for a40

SQL> select metric_id,metric_name from v$metricname where metric_name like'%space%';

METRIC_ID METRIC_NAME

---------- ----------------------------------------

9001 Tablespace Bytes Space Usage

9000 Tablespace Space Usage

SQL> COL WARNING_VALUE FOR A10

SQL> COL CRITICAL_VALUE FOR A10

SQL> COL STATUS FOR A10

SQL> COL OBJECT_NAME FOR A10

SQL> COL OBJECT_TYPE FOR A15

SQL> COL METRICS_NAME FOR A40

SQL>

SQL>--查看已设置的所有度量信息

SQL> SELECT METRICS_NAME,

2 OBJECT_TYPE,

3 OBJECT_NAME,

4 WARNING_VALUE,

5 CRITICAL_VALUE,

6 STATUS

7 FROM DBA_THRESHOLDS;

METRICS_NAME OBJECT_TYPE OBJECT_NAM WARNING_VA CRITICAL_V STATUS

---------------------------------------- --------------- ---------- ---------- ---------- --------

Tablespace Space Usage TABLESPACE TBS_METRIC 80 90 VALID

Tablespace Space Usage TABLESPACE 85 97 VALID

SQL>--当TBS_METRIC 表空间不足80%时,会在FROM DBA_OUTSTANDING_ALERTS视图中生成告警信息。

SQL> set linesize 300

SQL> col REASON for a50

SQL> col OBJECT_NAME for a15

SQL> col MESSAGE_LEVEL for 999

SQL> col MESSAGE_TYPE for a15

SQL> col METRIC_VALUE for 999

SQL> col CREATION_TIME for a20

SQL> col SUGGESTED_ACTION for a50

SQL> col ADVISOR_NAME for a15

SQL> SELECT REASON,

2 OBJECT_NAME,

3 MESSAGE_LEVEL,

4 MESSAGE_TYPE,

5 METRIC_VALUE,

6 CREATION_TIME,

7 SUGGESTED_ACTION,

8 ADVISOR_NAME

9 FROM DBA_OUTSTANDING_ALERTS;

REASON OBJECT_NAM MESSAGE_LEVEL MESSAGE_TYPE METRIC_VALUE CREATION_TIME SUGGESTED_ACTION ADVISOR_NAME

-------------------------------------------------- ---------- ------------- --------------- ------------ -------------------- -------------------------------------------------- ---------------

表空间 [TBS_METRIC] 已占用 [92 percent] TBS_METRIC 1 Warning 93 18-12月-13 09.44.41. 给表空间添加空间

865000 上午 +08:00

SQL> --修改TEST_METRIC表空间数据文件的MAXSIZE

SQL> alter database datafile

2 'G:\oracle\product\10.2.0\oradata\orcl\tbs_metric01.dbf' autoextend on maxsize 500M;

数据库已更改。

SQL> @E:\script\dba_tablespaces.sql

Tablespace basic Information

TABLESPACE_NAME MEGS_ALLOC MEGS_FREE MEGS_USED PCT_FREE PCT_USED MAX

------------------------------ ---------- ---------- ---------- ---------- ---------- ----------

LMTEMP 100 100 0 100 0 0

SYSAUX 400 25 375 6 94 32768

SYSTEM 570 1 569 0 100 655

TBS_METRIC 38 1 37 2 98 500

TEMP 200 200 0 100 0 0

TESTBIGSP 50 50 0 100 0 33554432

TESTSP 150 150 0 100 0 33792

TS_CDCPUB 3000 920 2080 31 69 3000

UNDOTBS1 2605 2595 10 100 0 32768

USERS 4623 534 4089 12 88 34768

已选择10行。

SQL>--修改TEST_METRIC表空间数据文件的MAXSIZE之后,对应的告警被转移到DBA_ALERT_HISTORY视图中

SQL> SELECT REASON,

2 OBJECT_NAME,

3 MESSAGE_LEVEL,

4 MESSAGE_TYPE,

5 METRIC_VALUE,

6 CREATION_TIME,

7 SUGGESTED_ACTION,

8 ADVISOR_NAME

9 FROM DBA_OUTSTANDING_ALERTS;

未选定行

SQL> set linesize 300

SQL> col SEQUENCE_ID FOR 9999999

SQL> col REASON_ID FOR 9999999

SQL> col OBJECT_NAME FOR a15

SQL> col OBJECT_TYPE FOR a15

SQL> col MESSAGE_TYPE FOR a15

SQL> col METRIC_VALUE FOR 999999.99

SQL> col REASON FOR a50

SQL> col SUGGESTED_ACTION FOR a50

SQL> SELECT T.SEQUENCE_ID,

2 T.REASON_ID,

3 T.OBJECT_NAME,

4 T.OBJECT_TYPE,

5 T.MESSAGE_TYPE,

6 T.METRIC_VALUE,

7 T.REASON,

8 T.SUGGESTED_ACTION

9 FROM DBA_ALERT_HISTORY T

10 ORDER BY T.CREATION_TIME DESC;

SEQUENCE_ID REASON_ID OBJECT_NAME OBJECT_TYPE MESSAGE_TYPE METRIC_VALUE REASON SUGGESTED_ACTION

----------- --------- --------------- --------------- --------------- ------------ -------------------------------------------------- -------------------

4010 9 TBS_METRIC TABLESPACE Notification 7.40 表空间 [TBS_METRIC] 已占用 [7 percent] 给表空间添加空间

维护度量

--为TBS_METRIC表空间生成度量。

BEGIN

DBMS_SERVER_ALERT.SET_THRESHOLD(

metrics_id => DBMS_SERVER_ALERT.TABLESPACE_PCT_FULL,

warning_operator => DBMS_SERVER_ALERT.OPERATOR_GE,

warning_value => '80',

critical_operator => DBMS_SERVER_ALERT.OPERATOR_GE,

critical_value => '90',

observation_period => 1,

consecutive_occurrences => 1,

instance_name => NULL,

object_type => DBMS_SERVER_ALERT.OBJECT_TYPE_TABLESPACE,

object_name => 'TBS_METRIC');

END;

/

--删除metric,要将warning_operator ,warning_value,critical_operator,critical_value 置为NULL。

BEGIN

DBMS_SERVER_ALERT.SET_THRESHOLD(

metrics_id => DBMS_SERVER_ALERT.TABLESPACE_PCT_FULL,

warning_operator => NULL,

warning_value => NULL,

critical_operator => NULL,

critical_value => NULL,

observation_period => 1,

consecutive_occurrences => 1,

instance_name => NULL,

object_type => DBMS_SERVER_ALERT.OBJECT_TYPE_TABLESPACE,

object_name => 'TBS_METRIC');

END;

/

--取消对度量的检查,这时warning_value,critical_value需要设置为0。

BEGIN

DBMS_SERVER_ALERT.SET_THRESHOLD(

metrics_id => DBMS_SERVER_ALERT.TABLESPACE_PCT_FULL,

warning_operator => DBMS_SERVER_ALERT.OPERATOR_DO_NOT_CHECK,

warning_value => 0,

critical_operator => DBMS_SERVER_ALERT.OPERATOR_DO_NOT_CHECK,

critical_value => 0,

observation_period => 1,

consecutive_occurrences => 1,

instance_name => NULL,

object_type => DBMS_SERVER_ALERT.OBJECT_TYPE_TABLESPACE,

object_name => 'TBS_METRIC');

END;

/

--如果监控剩余空间量 为metrics_id设置DBMS_SERVER_ALERT.TABLESPACE_BYT_FREE

--warning_value的单位为MB

BEGIN

DBMS_SERVER_ALERT.SET_THRESHOLD(

metrics_id => DBMS_SERVER_ALERT.TABLESPACE_BYT_FREE,

warning_operator => DBMS_SERVER_ALERT.OPERATOR_LE,

warning_value => '2310',

critical_operator => DBMS_SERVER_ALERT.OPERATOR_LE,

critical_value => '1000',

observation_period => 1,

consecutive_occurrences => 1,

instance_name => NULL,

object_type => DBMS_SERVER_ALERT.OBJECT_TYPE_TABLESPACE,

object_name => 'USERS');

END;

/

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.

度量视图

The following dictionary views provide information about server alerts:

DBA_THRESHOLDS lists the threshold settings defined for the instance.

DBA_OUTSTANDING_ALERTS describes the outstanding alerts in the database.

DBA_ALERT_HISTORY lists a history of alerts that have been cleared.

V$ALERT_TYPES provides information such as group and type for each alert.

V$METRICNAME contains the names, identifiers, and other information about the system metrics.

V$METRIC and V$METRIC_HISTORY views contain system-level metric values in memory.

参考:Managing Tablespace Alerts

http://docs.oracle.com/cd/B19306_01/server.102/b14231/schema.htm#ADMIN10120

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值