ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 10g 新增的dba_tab_modifications视图

Oracle 10g 新增的dba_tab_modifications视图

原创 Linux操作系统 作者:xz43 时间:2012-12-17 14:52:18 0 删除 编辑
今天无意中看到了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博客 ” ,链接:https://blog.itpub.net/9399028/viewspace-751217/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
鱼儿的学习空间

注册时间:2010-11-16

  • 博文量
    433
  • 访问量
    1863748