返回顶部

欢迎来到菜鸟大明儿哥的博客

我们一起交流学习,不断提升自我

Oracle修改统计信息收集计划时间

一、查询收集统计信息计划 

select * from dba_scheduler_windows t1,dba_scheduler_wingroup_members t2  where t1.window_name=t2.window_name and t2.window_group_name in ('MAINTENANCE_WINDOW_GROUP','BSLN_MAINTAIN_STATS_SCHED');

select t1.window_name,t1.repeat_interval,t1.duration from dba_scheduler_windows t1,dba_scheduler_wingroup_members t2 where t1.window_name=t2.window_name and t2.window_group_name in ('MAINTENANCE_WINDOW_GROUP','BSLN_MAINTAIN_STATS_SCHED');

 

以下是默认是统计信息收集时间

 

 

二、修改集统计信息计划的开始时间

BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE(
name=>'"SYS"."TUESDAY_WINDOW"',
attribute=>'REPEAT_INTERVAL',
value=>'freq=daily;byday=TUE;byhour=9;byminute=0; bysecond=0');
END;

 

三、修改收集统计信息计划的持续时间

BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE(
name=>'"SYS"."TUESDAY_WINDOW"',
attribute=>'DURATION',
value=>numtodsinterval(1200, 'minute'));
END;

 

numtodsinterval中也可以用 小时hour为单位

 

关闭单个调度窗口

BEGIN
  DBMS_AUTO_TASK_ADMIN.disable(client_name => 'auto optimizer stats collection',
                               operation   => NULL,
                               window_name => 'MONDAY_WINDOW');
END;


开启单个调度窗口
BEGIN
  DBMS_AUTO_TASK_ADMIN.enable(client_name => 'auto optimizer stats collection',
                               operation   => NULL,
                               window_name => 'MONDAY_WINDOW');
END;

 



关闭所有时间调度窗口
      BEGIN
           DBMS_AUTO_TASK_ADMIN.disable (
              client_name   => 'auto optimizer stats collection',
              operation     => NULL,
              window_name   => NULL);
        END;
        /

然而我们在生产中会经常发现,自动收集统计信息会漏掉很多表,我们就需要用到手动收集统计信息、创建计划任务自动执行

 

四、查询表的统计信息,手动收集统计信息

在Oracle中,存在执行计划不准的情况,怀疑表的统计信息是否收集,需要以下操作:
select table_name,num_rows,blocks,last_analyzed from user_tables where table_name='EMP';

说明:
-- table_name:展示表名 --num_rows:最后一次统计时的行数 --blocks:非当前块数,最后一次统计时的块数 --last_analyzed :最后一次统计的时间
--上述字段为null说明未统计


手动收集统计信息,并再次查看:
exec dbms_stats.gather_table_stats(ownname=>'META',tabname=>'EMP',estimate_percent=>10,method_opt=>'for all indexed columns');



posted @ 2019-12-25 15:56  菜鸟大明儿哥  阅读(3256)  评论(0编辑  收藏  举报