[原創] 利用Oracle metric(threshold)監控表空間
在10g中引入了metric,不但可以調化資料庫,還可以用來監控資料庫,如下
1.建立測試表空間
SYS@dbatest>create tablespace TBS_YXYUP datafile '/u01/oracle/oradata/dbatest/tbs_yxyup01.dbf' size 10m;
Tablespace created.
Elapsed: 00:00:01.09
2.確認現有metric
SYS@dbatest>select count(1) from dba_thresholds;
COUNT(1)
----------
22
Elapsed: 00:00:00.04
3.建立新的metric
SYS@dbatest>BEGIN
2 dbms_server_alert.set_threshold(
3 dbms_server_alert.tablespace_pct_full,
4 dbms_server_alert.operator_ge, 80,
5 dbms_server_alert.operator_ge, 95, 1, 1, NULL,
6 dbms_server_alert.object_type_tablespace, 'TBS_YXYUP');
7 END;
8 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.02
4.檢視新建立的metric
SYS@dbatest>select count(1) from dba_thresholds;
COUNT(1)
----------
23
Elapsed: 00:00:00.01
Elapsed: 00:00:00.00
SYS@dbatest>col warning_value format a20
SYS@dbatest>col critical_value format a20
SYS@dbatest>
SYS@dbatest>SELECT warning_value, critical_value, status
2 FROM dba_thresholds
3 WHERE metrics_name = 'Tablespace Space Usage'
4 AND object_name = 'TBS_YXYUP';
WARNING_VALUE CRITICAL_VALUE STATUS
-------------------- -------------------- -------
80 95 VALID
Elapsed: 00:00:00.00
SYS@dbatest>
5.模擬資料增長,達到threshold
YXYUP@dbatest>drop table t3 purge;
Table dropped.
Elapsed: 00:00:00.10
YXYUP@dbatest>create table t3 tablespace tbs_YXYUP as select * from dba_objects;
Table created.
Elapsed: 00:00:00.90
YXYUP@dbatest>insert into t3 select * from t3 where rownum<4001 ;
4000 rows created.
Elapsed: 00:00:00.03
YXYUP@dbatest>commit;
Commit complete.
Elapsed: 00:00:00.02
YXYUP@dbatest>insert into t3 select * from t3 where rownum<4001 ;
4000 rows created.
Elapsed: 00:00:00.03
YXYUP@dbatest>commit;
Commit complete.
Elapsed: 00:00:00.00
YXYUP@dbatest>insert into t3 select * from t3 where rownum<4001 ;
4000 rows created.
Elapsed: 00:00:00.02
YXYUP@dbatest>r
1* insert into t3 select * from t3 where rownum<4001
4000 rows created.
Elapsed: 00:00:00.03
YXYUP@dbatest>commit;
Commit complete.
Elapsed: 00:00:00.03
YXYUP@dbatest>insert into t3 select * from t3 where rownum<4001 ;
4000 rows created.
Elapsed: 00:00:00.01
YXYUP@dbatest>commit;
Commit complete.
Elapsed: 00:00:00.03
YXYUP@dbatest>insert into t3 select * from t3 where rownum<4001 ;
4000 rows created.
Elapsed: 00:00:00.01
YXYUP@dbatest>commit;
Commit complete.
Elapsed: 00:00:00.00
YXYUP@dbatest>insert into t3 select * from t3 where rownum<4001 ;
4000 rows created.
Elapsed: 00:00:00.02
YXYUP@dbatest>commit;
Commit complete.
Elapsed: 00:00:00.01
YXYUP@dbatest>
SYS@dbatest>select sum(bytes)/1024/1024 from dba_segments where segment_name='T3'
SUM(BYTES)/1024/1024
--------------------
9
6. 檢視是否生效
SYS@dbatest>col REASON for a50;
SYS@dbatest>SELECT reason, message_level,
2 DECODE(message_level, 5, 'WARNING', 1, 'CRITICAL') ALERT_LEVEL
3 FROM dba_outstanding_alerts
4 WHERE object_name = 'TBS_YXYUP';
REASON MESSAGE_LEVEL ALERT_LE
-------------------------------------------------- ------------- --------
Tablespace [TBS_YXYUP] is [90 percent] full 5 WARNING
7.停用metric
SYS@dbatest>BEGIN
2 dbms_server_alert.set_threshold (
3 dbms_server_alert.tablespace_pct_full,
4 dbms_server_alert.operator_do_not_check, '0',
5 dbms_server_alert.operator_do_not_check, '0', 1, 1, NULL,
6 dbms_server_alert.object_type_tablespace, 'TBS_YXYUP');
7 END;
8 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.01
SYS@dbatest>SELECT warning_value, critical_value, status
2 FROM dba_thresholds
3 WHERE metrics_name = 'Tablespace Space Usage'
4 AND object_name = 'TBS_YXYUP';
WARNING_VALUE CRITICAL_VALUE STATUS
-------------------- -------------------- -------
0 0 VALID
8.取消metric(threshold)
SYS@dbatest>BEGIN
2 dbms_server_alert.set_threshold (
3 dbms_server_alert.tablespace_pct_full,
4 NULL, NULL, NULL, NULL, 1, 1, NULL,
5 dbms_server_alert.object_type_tablespace, 'TBS_YXYUP');
6 END;
7 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.02
SYS@dbatest>SELECT warning_value, critical_value, status
2 FROM dba_thresholds
3 WHERE metrics_name = 'Tablespace Space Usage'
4 AND object_name = 'TBS_YXYUP';
no rows selected
Elapsed: 00:00:00.01
SYS@dbatest>
1.建立測試表空間
SYS@dbatest>create tablespace TBS_YXYUP datafile '/u01/oracle/oradata/dbatest/tbs_yxyup01.dbf' size 10m;
Tablespace created.
Elapsed: 00:00:01.09
2.確認現有metric
SYS@dbatest>select count(1) from dba_thresholds;
COUNT(1)
----------
22
Elapsed: 00:00:00.04
3.建立新的metric
SYS@dbatest>BEGIN
2 dbms_server_alert.set_threshold(
3 dbms_server_alert.tablespace_pct_full,
4 dbms_server_alert.operator_ge, 80,
5 dbms_server_alert.operator_ge, 95, 1, 1, NULL,
6 dbms_server_alert.object_type_tablespace, 'TBS_YXYUP');
7 END;
8 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.02
4.檢視新建立的metric
SYS@dbatest>select count(1) from dba_thresholds;
COUNT(1)
----------
23
Elapsed: 00:00:00.01
Elapsed: 00:00:00.00
SYS@dbatest>col warning_value format a20
SYS@dbatest>col critical_value format a20
SYS@dbatest>
SYS@dbatest>SELECT warning_value, critical_value, status
2 FROM dba_thresholds
3 WHERE metrics_name = 'Tablespace Space Usage'
4 AND object_name = 'TBS_YXYUP';
WARNING_VALUE CRITICAL_VALUE STATUS
-------------------- -------------------- -------
80 95 VALID
Elapsed: 00:00:00.00
SYS@dbatest>
5.模擬資料增長,達到threshold
YXYUP@dbatest>drop table t3 purge;
Table dropped.
Elapsed: 00:00:00.10
YXYUP@dbatest>create table t3 tablespace tbs_YXYUP as select * from dba_objects;
Table created.
Elapsed: 00:00:00.90
YXYUP@dbatest>insert into t3 select * from t3 where rownum<4001 ;
4000 rows created.
Elapsed: 00:00:00.03
YXYUP@dbatest>commit;
Commit complete.
Elapsed: 00:00:00.02
YXYUP@dbatest>insert into t3 select * from t3 where rownum<4001 ;
4000 rows created.
Elapsed: 00:00:00.03
YXYUP@dbatest>commit;
Commit complete.
Elapsed: 00:00:00.00
YXYUP@dbatest>insert into t3 select * from t3 where rownum<4001 ;
4000 rows created.
Elapsed: 00:00:00.02
YXYUP@dbatest>r
1* insert into t3 select * from t3 where rownum<4001
4000 rows created.
Elapsed: 00:00:00.03
YXYUP@dbatest>commit;
Commit complete.
Elapsed: 00:00:00.03
YXYUP@dbatest>insert into t3 select * from t3 where rownum<4001 ;
4000 rows created.
Elapsed: 00:00:00.01
YXYUP@dbatest>commit;
Commit complete.
Elapsed: 00:00:00.03
YXYUP@dbatest>insert into t3 select * from t3 where rownum<4001 ;
4000 rows created.
Elapsed: 00:00:00.01
YXYUP@dbatest>commit;
Commit complete.
Elapsed: 00:00:00.00
YXYUP@dbatest>insert into t3 select * from t3 where rownum<4001 ;
4000 rows created.
Elapsed: 00:00:00.02
YXYUP@dbatest>commit;
Commit complete.
Elapsed: 00:00:00.01
YXYUP@dbatest>
SYS@dbatest>select sum(bytes)/1024/1024 from dba_segments where segment_name='T3'
SUM(BYTES)/1024/1024
--------------------
9
6. 檢視是否生效
SYS@dbatest>col REASON for a50;
SYS@dbatest>SELECT reason, message_level,
2 DECODE(message_level, 5, 'WARNING', 1, 'CRITICAL') ALERT_LEVEL
3 FROM dba_outstanding_alerts
4 WHERE object_name = 'TBS_YXYUP';
REASON MESSAGE_LEVEL ALERT_LE
-------------------------------------------------- ------------- --------
Tablespace [TBS_YXYUP] is [90 percent] full 5 WARNING
7.停用metric
SYS@dbatest>BEGIN
2 dbms_server_alert.set_threshold (
3 dbms_server_alert.tablespace_pct_full,
4 dbms_server_alert.operator_do_not_check, '0',
5 dbms_server_alert.operator_do_not_check, '0', 1, 1, NULL,
6 dbms_server_alert.object_type_tablespace, 'TBS_YXYUP');
7 END;
8 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.01
SYS@dbatest>SELECT warning_value, critical_value, status
2 FROM dba_thresholds
3 WHERE metrics_name = 'Tablespace Space Usage'
4 AND object_name = 'TBS_YXYUP';
WARNING_VALUE CRITICAL_VALUE STATUS
-------------------- -------------------- -------
0 0 VALID
8.取消metric(threshold)
SYS@dbatest>BEGIN
2 dbms_server_alert.set_threshold (
3 dbms_server_alert.tablespace_pct_full,
4 NULL, NULL, NULL, NULL, 1, 1, NULL,
5 dbms_server_alert.object_type_tablespace, 'TBS_YXYUP');
6 END;
7 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.02
SYS@dbatest>SELECT warning_value, critical_value, status
2 FROM dba_thresholds
3 WHERE metrics_name = 'Tablespace Space Usage'
4 AND object_name = 'TBS_YXYUP';
no rows selected
Elapsed: 00:00:00.01
SYS@dbatest>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-1136704/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用Oracle threshold(度量閥值)監控表空間Oracle
- oracle表空間增加監控Oracle
- 監控oracle表空間指令碼Oracle指令碼
- oracle監控表空間,JOB,rman備份Oracle
- 監控和管理Oracle UNDO表空間的使用Oracle
- 表空間監控(三)tablespace detailAI
- 多臺ORACLE資料庫表空間監控方案Oracle資料庫
- WINDOWS 環境下 監控ORACLE臨時表空間WindowsOracle
- oracle空間使用監控指令碼Oracle指令碼
- 【原創】表空間相關操作
- 表空間監控(二)datafile size detailAI
- oracle sql 表空間利用率OracleSQL
- 怎麼檢視oracle表空間,剩餘大小,表空間利用Oracle
- [原創] 當表空間不足時,Oracle是這樣管理RecyclebinOracle
- 自動監控Oracle 表空間資訊併傳送郵件指令碼Oracle指令碼
- 單個指令碼監控主機上所有例項的表空間利用率指令碼
- 監控硬碟空間指令碼硬碟指令碼
- 【原創】Oracle10g bigfile表空間帶來的好處Oracle
- Oracle表空間Oracle
- linux 下監控磁碟空間Linux
- oracle 效能監控 <--轉至 陽光傾城 的空間Oracle
- Oracle 表空間利用率及物件大小查詢Oracle物件
- oracle expdp、impdp匯入從原表空間更換到其他表空間 ----匯入到另個表空間測試Oracle
- oracle temp 表空間Oracle
- 增加oracle表空間Oracle
- oracle undo 表空間Oracle
- oracle users 表空間Oracle
- Oracle表空間管理Oracle
- oracle建立表空間Oracle
- Oracle 表空間管理Oracle
- oracle表空間操作Oracle
- ORACLE MOVE表空間Oracle
- ORACLE表空間概述Oracle
- Oracle表空間命令Oracle
- Oracle 表空間回收Oracle
- AIX分頁(交換)空間的監控AI
- Oracle10g新特性——利用RMAN遷移表空間Oracle
- Oracle表移動表空間Oracle