日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle如何监控表的DML次数

發布時間:2024/8/26 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle如何监控表的DML次数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在數據庫技術大會上,做了《構建高可用數據庫監控系統》的分享以后,很多朋友對北斗如何實現表的DML次數監控有興趣,會上因為時間的原因,我只是說有系統視圖可以查到這個信息,因此有了本文,可以稍微詳細一點來說明是如何實現的。

我說的系統視圖,具體指的是dba_tab_modifications/all_tab_modifications/user_tab_modifications?,這幾個視圖收集了表自從上一次分析之后的DML累積次數。但是要注意,考慮到性能的影響,Oracle并不是實時統計這個數據的,在Oracle9i之前,約3個小時SMON進程會刷新一次數據,而Oracle9i以后這個時間間隔變成了15分鐘。

因此以較高的頻率來實時監控這個表的話,得到的并不是當前的準確數據。Oracle在dbms_stat包中提供了一個過程來手動刷新統計數據,假如在一天的業務低峰期采集一次數據的話,可以先執行該過程,就能得到較為準確的數據。但是,不建議在業務高峰期執行該過程。

exec DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO;

在Oracle10g之前,必須手工開啟表的monitoring屬性,才會將DML統計信息收集到這個視圖中。可以通過dba_tables.monitoring列查看表是否已經開啟了監控。關于這個變化,可以參考Metalink ID 252597.1

alter table test monitoring;

Oracle10g之后,只要statistics_level是TYPICAL(默認)或者ALL,就能自動收集信息了,即使給表設置為nomonitoring也不能阻止,這個表的屬性已經被廢棄了。

SQL> desc dba_tab_modifications
?Name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Null? ? ?Type
?----------------------------------------- -------- ----------------------------
?TABLE_OWNER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?VARCHAR2(30)
?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
?
?
?

總結

以上是生活随笔為你收集整理的Oracle如何监控表的DML次数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。