微信公众号:IT邦德
目前B站正在直播Mysql、Oracle、Python实战课程
详情关注公众号:IT邦德 QQ群:168797397、587159446
Oracle 10g,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动收集CBO的统计信息。
这个自动任务默认情况下在工作日晚上10:00-6:00和周末全天开启。
1、获得当前自动收集统计信息的执行时间
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23col WINDOW_NAME for a20 col REPEAT_INTERVAL for a60 col DURATION for a30 set linesize 120 SELECT t1.window_name, t1.repeat_interval, t1.duration,enabled 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'); # WINDOW_NAME:任务名 # REPEAT_INTERVAL:任务重复间隔时间 # DURATION:持续时间 ##查看自动收集统计信息的任务及状态: select job_name,schedule_name,enabled,last_start_date,last_run_duration,next_run_date from dba_scheduler_jobs a where job_name = 'GATHER_STATS_JOB'
2.关闭方法
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14BEGIN DBMS_SCHEDULER.DISABLE( name=>'"SYS"."WEEKNIGHT_WINDOW"', force=>TRUE); END; / BEGIN DBMS_SCHEDULER.DISABLE( name=>'"SYS"."WEEKEND_WINDOW"', force=>TRUE); END; /
3.修改统计信息执行的时间
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15--修改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; /
4.开启方法
复制代码
1
2
3
4
5
6
7
8
9
10
11
12BEGIN DBMS_SCHEDULER.ENABLE( name=>'"SYS"."WEEKNIGHT_WINDOW"'); END; / BEGIN DBMS_SCHEDULER.ENABLE( name=>'"SYS"."WEEKEND_WINDOW"'); END; /
本文如有错误或不完善的地方请大家多多指正,您的批评指正是我写作的最大动力!
最后
以上就是悦耳冬日最近收集整理的关于10G自动收集统计信息修改的全部内容,更多相关10G自动收集统计信息修改内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复