星期四, 12月 01, 2011
Oracle 9i monitor table的方法
Oracle 9i monitor table的方法
http://space.itpub.net/26684/viewspace-342947
一直以來,只知道Oracle存在monitor index的方法,用來監控index有沒有被使用
。大概大家認為查出沒有被使用的index比較有意義吧。 但是監控table的方法,卻沒有
被人提及過。其實對一個存在許多垃圾table的DB,這個方法還是有用的。
以下是這個方法的實驗過程:
SQL> select * from v$version;
BANNER
-----------------------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
PL/SQL Release 9.2.0.6.0 - Production
CORE 9.2.0.6.0 Production
TNS for Solaris: Version 9.2.0.6.0 - Production
NLSRTL Version 9.2.0.6.0 - Production
SQL> create table xiaolong as select * from user_tables;
Table created.
SQL> alter session set events '10046 trace name context forever, level 12';
Session altered.
-- 開始監控MHR schema 下的table
SQL> begin
2 dbms_stats.alter_schema_tab_monitoring('MHR', true);
3 END;
4 /
PL/SQL procedure successfully completed.
SQL>
SQL> desc user_tab_modifications
Name Null? Type
----------------------------------------- --------
----------------------------
TABLE_NAME VARCHAR2(30)
PARTITION_NAME VARCHAR2(30)
SUBPARTITION_NAME VARCHAR2(30)
INSERTS NUMBER
UPDATES NUMBER
DELETES NUMBER
TIMESTAMP DATE
TRUNCATED VARCHAR2(3)
DROP_SEGMENTS NUMBER
SQL>
SQL> col table_nama for a10
SQL> select table_name , updates from user_tab_modifications;
no rows selected
SQL>
SQL> update xiaolong set table_name = 'monitor_tab';
260 rows updated.
SQL> commit;
Commit complete.
SQL> select table_name , updates from user_tab_modifications;
no rows selected
SQL> exec DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO();
PL/SQL procedure successfully completed.
SQL> select table_name , updates from user_tab_modifications;
TABLE_NAME UPDATES
------------------------------------------------------------ ----------
XIAOLONG 260
SQL> select count(1) from xiaolong;
COUNT(1)
----------
260
-- 結束監控
SQL> begin
2 dbms_stats.alter_schema_tab_monitoring('MHR', false);
3 END;
4 /
PL/SQL procedure successfully completed.
--- 注意點:
1) 在執行DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO();前,信息被記錄在SGA中。
2)在執行DBMS_STATS.ALTER_SCHEMA_TAB_MONITORING后,新建立的table不能被監控。
3)snapshot logs and table 不能被監控。
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言