博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 10g 之自动收集统计信息
阅读量:5358 次
发布时间:2019-06-15

本文共 2148 字,大约阅读时间需要 7 分钟。

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

1、查看自动收集统计信息的任务及状态:

SQL> select job_name,schedule_name,enabled,last_start_date,last_run_duration,next_run_date    2  from dba_scheduler_jobs a  3  where job_name = 'GATHER_STATS_JOB'

2、启用/禁止自动收集统计信息的任务

方法一:exec dbms_scheduler.disable('SYS.GATHER_STATS_JOB');exec dbms_scheduler.enable('SYS.GATHER_STATS_JOB');方法二:alter system set "_optimizer_autostats_job"=false scope=spfile;alter system set "_optimizer_autostats_job"=true scope=spfile;

3、获得当前自动收集统计信息的执行时间

SQL> col WINDOW_NAME format a20SQL> col DURATION format a20SQL> col REPEAT_INTERVAL format a75SQL> select t2.window_group_name,t1.window_name,t1.repeat_interval,t1.duration   2  from dba_scheduler_windows t1,dba_scheduler_wingroup_members t2  3  where t1.window_name=t2.window_name;WINDOW_GROUP_NAME              WINDOW_NAME          REPEAT_INTERVAL                                                             DURATION------------------------------ -------------------- --------------------------------------------------------------------------- --------------------MAINTENANCE_WINDOW_GROUP       WEEKNIGHT_WINDOW     freq=daily;byday=MON,TUE,WED,THU,FRI;byhour=22;byminute=0; bysecond=0       +000 08:00:00MAINTENANCE_WINDOW_GROUP       WEEKEND_WINDOW       freq=daily;byday=SAT;byhour=0;byminute=0;bysecond=0                         +002 00:00:00SQL>

4、修改统计信息执行的时间

--修改WEEKEND_WINDOW的配置 (改成和WEEKNIGHT_WINDOW相同,即周一~周五,每日的22:00向后8小时,至次日凌晨6点)begin dbms_scheduler.set_attribute('WEEKEND_WINDOW','REPEAT_INTERVAL','freq=daily;byday=SAT,SUN;byhour=22;byminute=0;bysecond=0');dbms_scheduler.set_attribute('WEEKEND_WINDOW','DURATION','+000 08:00:00'); end;/--若要还原成以前默认设置,可执行如下--周末两天都是全天:begin dbms_scheduler.set_attribute('WEEKEND_WINDOW','REPEAT_INTERVAL','freq=daily;byday=SAT;byhour=0;byminute=0;bysecond=0');dbms_scheduler.set_attribute('WEEKEND_WINDOW','DURATION','+002 00:00:00'); end;/

5、查看统计信息执行的历史记录

--JOB运行历史记录select * from dba_scheduler_job_logwhere  job_name = 'GATHER_STATS_JOB'--正在运行的jobselect * from dba_scheduler_running_jobs

 

转载于:https://www.cnblogs.com/polestar/p/4434006.html

你可能感兴趣的文章
Fragment中启动一个新的Activity
查看>>
.NET性能优化方面的总结
查看>>
Windows下文件夹扩展名
查看>>
今天早上6:00起来,每天晚上回来6点多已经天黑
查看>>
debian开启cgroup memory子系统
查看>>
信息收集
查看>>
SQL Server 中使用Convert来取得datetime数据类型样式(全)
查看>>
Python中list的拷贝问题
查看>>
Java学习第二周学习笔记
查看>>
SQL基本语句
查看>>
linux-Centos7安装python3并与python2共存
查看>>
Thread和ThreadPool的应用解析
查看>>
Django部署问题
查看>>
UE4开发神秘海域类游戏原型 初阶(二):动画资源的整合
查看>>
关于二维码的简单使用
查看>>
LeetCode:Regular Expression Matching
查看>>
ToadforDB2_Freeware_6.x 安装报错“Toad did not find a default DB2 client”
查看>>
div 溢出隐藏 div文字溢出用点(省略号)代替
查看>>
关于获取基站信息总结
查看>>
BZOJ.4650.[NOI2016]优秀的拆分(后缀数组 思路)
查看>>