从Oracle Database 10g开始,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动收集CBO的统计信息。这个自动任务默认情况下在工作日晚上10:00-6:00和周末全天开启。

调用DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC收集统计信息。该过程首先检测统计信息缺失和陈旧的对象。然后确定优先级,再开始进行统计信息。收集的规则是user_tab_modifications中操作的记录数超过表的数量的10%就会自动收集。更多的信息看官方文档:http://docs.oracle.com/cd/B19306_01/server.102/b14211/stats.htm#sthref1068  。

user_tab_modifications表中有inserts,updates,deletes,意思是修改了多少行数据,下面我们来做一个实验:

SQL> create table test as select * from dba_objects;

SQL> select table_name,inserts,updates,deletes,timestamp

from user_tab_modifications where table_name='TEST';

未选定行

SQL> exec dbms_stats.FLUSH_DATABASE_MONITORING_INFO;

PL/SQL 过程已成功完成。

SQL> select table_name,inserts,updates,deletes,timestamp

from user_tab_modifications where table_name='TEST';

未选定行

SQL> exec dbms_stats.FLUSH_DATABASE_MONITORING_INFO;

PL/SQL 过程已成功完成。

SQL> select table_name,inserts,updates,deletes,timestamp

from user_tab_modifications where table_name='TEST';

未选定行

SQL> exec dbms_stats.gather_table_stats(user,'TEST');

PL/SQL 过程已成功完成。

SQL> select table_name,inserts,updates,deletes,timestamp

from user_tab_modifications where table_name='TEST';

未选定行

SQL> delete from test where rownum <=10000;

已删除10000行。

SQL> commit;

提交完成。

SQL> select table_name,inserts,updates,deletes,timestamp

from user_tab_modifications where table_name='TEST';

未选定行

SQL> exec dbms_stats.FLUSH_DATABASE_MONITORING_INFO;

PL/SQL 过程已成功完成。

SQL> select table_name,inserts,updates,deletes,timestamp

from user_tab_modifications where table_name='TEST';

TABLE_NAME                        INSERTS    UPDATES    DELETES TIMESTAMP

------------------------------ ---------- ---------- ---------- --------------

TEST                                    0          0    1000012-7月 -13

另外:

关闭自动统计信息命令,exec DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB');

启用自动统计信息命令,exec DBMS_SCHEDULER.ENABLE('GATHER_STATS_JOB');

查看自动统计信息是否开启,

oracle 10g :SELECT OWNER,JOB_NAME,ENABLED FROM DBA_SCHEDULER_JOBS WHERE JOB_NAME = 'GATHER_STATS_JOB';

oracle 11g :select t1.owner, t1.job_name, t1.enabled  from dba_scheduler_jobs t1  where t1.job_name = 'BSLN_MAINTAIN_STATS_JOB';

oracle收集统计信息sql,Oracle自动统计信息的收集原理及实验相关推荐

  1. oracle高资源消耗sql,Oracle高资源消耗SQL语句定位

    Oracle SQL语句资源消耗监控最常用的系统视图有v$sql.v$sqlarea.v$sqltext和v$session.本文我们先了解这些视图的作用与区别,然后了解如何定位高资源消耗SQL语句, ...

  2. oracle创建存储过程动态sql,Oracle存储过程使用动态SQL

    Oracle存储过程使用动态SQL 有两种写法:用 DBMS_SQL 或 execute immediate,建议使用后者.试验步骤如下: 1:DDL和DML /*** DDL ***/ begin ...

  3. Oracle数据库恢复应SQL,Oracle数据库数据恢复验证笔记

    这些年做数据恢复单子,经常碰到Oracle案例,当我们把数据恢复出来以后,我们怎样才能让用户看到oracle数据库里的东西,而不是一个一个oracle数据文件,以下是我总结出来的,对oracle初学者 ...

  4. xlsx表格怎么做汇总统计_excel表格 的自动统计数据-excel,怎么做数据自动汇总

    excel,怎么做数据自动汇总 在EXCEL里面查找然后自动统量的具骤如下: 我们需要的材料分别是:电脑Excel表格. 1.首先我们打开需要编辑的Excel表格,点击打开"查找和选择&qu ...

  5. oracle双重for循环sql,Oracle 11g中for循环中的PL / SQL限制

    我有一个大约有3000万条记录的表,并且我想像这样循环遍历表中存在的记录: FOR i IN (SELECT * FROM tbl_items it Left join location lo ON ...

  6. python字典统计男女比例_Python 自动统计微博抽奖中奖男女比例(附代码)

    今天来写一个自动计算微博抽奖男女比例的代码,很早就应该发这篇了,只是不想蹭热点(才不是拖更). 整个的过程大概分为三步: S1:从抽奖公示页获取所有中奖者的微博ID S2:由每个中奖者的微博ID进入其 ...

  7. sql oracle 递归查询语句,深入sql oracle递归查询

    ☆ 获取数据库所有表名,表的所有列名 select name from sysobjects where xtype='u' select name from syscolumns where id= ...

  8. oracle查视图的sql,oracle通过v$sql视图查询sql的平均执行时间(代码实例)

    oracle通过v$sql视图查询sql的平均执行时间(代码实例) select sql_text,executions 总执行次数,elapsed_time/1000 总耗时(秒), elapsed ...

  9. oracle中的pl SQL,Oracle数据中的PL/SQL介绍

    PL/SQL是Procedure Language Sturtured Query Language的缩写.PL/SQL的优点:有利于客户/服务器环境应用的性能提高.PL/SQL是 什么是Pl/SQL ...

最新文章

  1. 终端模拟器编译c语言,编写你自己的Terminal emulator
  2. oracle中那个日期怎么相减_oracle数据库中日期加减函数
  3. javaweb中mysql数据库的回滚操作代码
  4. Gridiew——表的内容居中
  5. java 项目心得_读懂JAVA WEB项目的一点心得 | 学步园
  6. java list 区别_Java中List和ArrayList的区别
  7. 【TWVRP】基于matlab遗传算法和模拟退火求解带时间窗自行车调度问题【含Matlab源码 370期】
  8. JS如何判断一个对象是否为JSON对象
  9. QT 对话框不在任务栏显示
  10. 2015062602 - 星际迷航.红杉书评
  11. Ansys Meshing
  12. Surface reconstruction from unorganized points
  13. html和css怎么学好,如何学好css?
  14. 中国农历的Java实现
  15. 直接横摆力矩分层控制器 上层LQR 下层数学规划 四轮独立驱动汽车转矩分配 DYC 与AFS集成控制器
  16. 大数据爬虫采集的应用流程
  17. ***S 2012 仪表 -- 关键绩效指标
  18. 华为云物联网四年配置中心实践
  19. 哈佛大学图书馆二十条训言_ywyuan_新浪博客
  20. 湖北经济学院法商学院计算机应用,湖北经济学院法商学院

热门文章

  1. 浅谈 URI 及其转义
  2. 在ubuntu 14.04搭建React Native for Android开发环境
  3. extract local variale 和 jsp中查找选中内容的快捷键
  4. leetcode 485,487,1004. Max Consecutive Ones I ,II, III(最大连续1的个数问题合集)
  5. P8实战(二):分布式锁前置技能 etcd 集群搭建
  6. 【转自CodeSheep】程序猿好书推荐
  7. C语言 malloc动态申请内存,存放数组
  8. Java实现心跳机制
  9. Effective Java之用enum代替int常量(三十)
  10. spark on yarn 使用自定义jdk