Oracle 10g 新增的dba_tab_modifications视图

今天无意中看到了dba_tab_modifications视图,里面包括了数据库表的DML操作统计,感觉挺有用的。
 
这个视图中记录数据库自上次执行dbms_stat 以来的表的数据量的变更的统计,包括insert、delete、update,为了性能优先这个视图不是实时跟新的,需要执行一个存储过程来刷新。
exec dbms_stats.FLUSH_DATABASE_MONITORING_INFO();
或者开启awr 功能也会自动调用这个过程刷新,这个过程执行很快,没有什么性能影响。
 
那这个视图的数据是哪里获取的?SMON后台进程的作用之一,就是维护MON_MODS$基表,当初始化参数STATISTICS_LEVEL被设置为TYPICAL或ALL时默认会启用Oracle中表监控的特性,Oracle会默认监控表上的自上一次分析以后(Last analyzed)发生的INSERT,UPDATE,DELETE以及表是否被TRUNCATE截断,并将这些操作数量的近似值记录到数据字典基表MON_MODS$中,我们常用的一个DML视图dba_tab_modifications的数据实际来源于另一个数据字典基表MON_MODS_ALL$,SMON定期会将MON_MODS$中符合要求的数据MERGE到MON_MODS_ALL$中。
 
oracle 10g 的自动分析原则,就是根据这个数据量变动比率达到某个值后,触发dbms_stat来收集统计信息的。

Column Datatype NULL Description TABLE_OWNER VARCHAR2(30)
Owner of the modified table. TABLE_NAME VARCHAR2(30)
Name of the modified table PARTITION_NAME VARCHAR2(30)
Name of the modified partition SUBPARTITION_NAME VARCHAR2(30)
Name of the modified subpartition INSERTS NUMBER
Approximate number of inserts since the last time statistics were gathered UPDATES NUMBER
Approximate number of updates since the last time statistics were gathered DELETES NUMBER
Approximate number of deletes since the last time statistics were gathered TIMESTAMP DATE
Indicates the last time the table was modified DROP_SEGMENTS NUMBER
Number of partition and subpartition segments dropped since the last analyze

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9399028/viewspace-751217/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9399028/viewspace-751217/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值