星期五, 3月 30, 2012

[Oracle] 如何監控索引是否曾被使用 How to monitor if indexes were ever used

SQL> conn USER/password
SQL> alter index USER.IDX01 monitoring usage;

Index altered.

於一段時間後查詢以下view , 以確定是否索引有被使用
SQL>
select * from v$object_usage;

SELECT index_name,
       table_name,
       monitoring,
       used,
       start_monitoring,
       end_monitoring
FROM   v$object_usage
WHERE  index_name in ('IDX01')
ORDER BY index_name;

為何要 監控?

有多餘的index 會造成讀快寫慢 所以會影響資料庫讀寫效能

AP人員有時會加一些多餘的index 可以藉由此方式來觀察一個月 甚至一季, 再摘除indexes

停止監控:
SQL>
SQL> alter index USER.IDX01 nomonitoring usage;

Index altered.

沒有留言:

LinkWithin-相關文件

Related Posts Plugin for WordPress, Blogger...