ORACLE自动运行
1,GATHER_STATS_JOB作业
2,并监控所有数据库对象的所有DML操作(如果某个对象的统计数据自上次以来有超过10%的更改,则会再次统计该对象的统计信息)
注意:按一定的规则对数据库对象统计,规则如下:
1,不是对所有表,oracle根据内部算法实现采样的百分比
2,在统计窗口内,不是对所有表都收集,没有变化的表只被收集一次
3,对于新表的第一次统计会统计该表的所有行
查看GATHER_STATS_JOB
SQL> select JOB_NAME,STATE,OWNER from dba_scheduler_jobs;
JOB_NAME STATE OWNER
------------------------------ --------------- ------------------------------
AUTO_SPACE_ADVISOR_JOB SCHEDULED SYS
GATHER_STATS_JOB SCHEDULED (正在被调用 ) SYS ——Oracle Secheduler维护窗口在周一到五,晚10-6点和周末全天打开
FGR$AUTOPURGE_JOB DISABLED SYS
PURGE_LOG SCHEDULED SYS
RLM$SCHDNEGACTION SCHEDULED EXFSYS
RLM$EVTCLEANUP SCHEDULED EXFSYS
查看scott拥有表的统计分析情况
SQL> select LAST_ANALYZED,TABLE_NAME,OWNER,NUM_ROWS,SAMPLE_SIZE
2 from dba_tables
3 where wner= 'SCOTT';
LAST_ANAL TABLE_NAME OWNER NUM_ROWS SAMPLE_SIZE——采样行数
--------- --------------- ------------------------------ ---------- -----------
02-DEC-11 DEPT SCOTT 4 4
30-NOV-11 BONUS SCOTT 0 0
30-NOV-11 SALGRADE SCOTT 5 5
30-NOV-11 DEPT_TEST3 SCOTT 4 4
03-DEC-11 TEST3 SCOTT 0 0