13Automatic Optimizer Statistics Collection
打开:
BEGIN DBMS_AUTO_TASK_ADMIN.ENABLE( client_name => 'auto optimizer stats collection' , operation => NULL , window_name => NULL ); END; /
关闭:
BEGIN DBMS_AUTO_TASK_ADMIN.DISABLE( client_name => 'auto optimizer stats collection' , operation => NULL , window_name => NULL ); END; /
数据库监视这每个表的变化信息,当变化超过10%就自动收集统计信息:
(查询统计信息是否过期?DBA_TAB_STATISTICS)
Monitoring tracks the approximate number of INSERT
s, UPDATE
s, and DELETE
s for that table and whether the table has been truncated since the last time statistics were gathered. You can access information about changes of tables in the USER_TAB_MODIFICATIONS
view. Following a data-modification, there may be a few minutes delay while Oracle Database propagates the information to this view. Use the DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO
procedure to immediately reflect the outstanding monitored information kept in the memory.
The GATHER_DATABASE_STATS
or GATHER_SCHEMA_STATS
procedures gather new statistics for tables with stale statistics when the OPTIONS
parameter is set to GATHER
STALE
orGATHER
AUTO
. If a monitored table has been modified more than 10%, then these statistics are considered stale and gathered again.
When to Use Manual Statistics?
-
Volatile tables that are deleted or truncated and rebuilt during the course of the day.
-
Objects that are the target of large bulk loads which add 10% or more to the object’s total size.