首页 > 代码库 > [Oracle] 11G自动收集统计信息
[Oracle] 11G自动收集统计信息
在11g中,默认自动收集统计信息的时间为晚上10点(周一到周五,4个小时),早上6点(周六,周日,20个小时),如下所示:
select a.window_name, a.repeat_interval,a.duration from dba_scheduler_windows a, dba_scheduler_wingroup_members b where a.window_name = b.window_name and b.window_group_name = ‘MAINTENANCE_WINDOW_GROUP‘; WINDOW_NAME REPEAT_INTERVAL DURATION ------------------------------ ------------------------------------------------------------ -------------------- WEDNESDAY_WINDOW freq=daily;byday=WED;byhour=22;byminute=0; bysecond=0 +000 04:00:00 FRIDAY_WINDOW freq=daily;byday=FRI;byhour=22;byminute=0; bysecond=0 +000 04:00:00 SATURDAY_WINDOW freq=daily;byday=SAT;byhour=6;byminute=0; bysecond=0 +000 20:00:00 THURSDAY_WINDOW freq=daily;byday=THU;byhour=22;byminute=0; bysecond=0 +000 04:00:00 TUESDAY_WINDOW freq=daily;byday=TUE;byhour=22;byminute=0; bysecond=0 +000 04:00:00 SUNDAY_WINDOW freq=daily;byday=SUN;byhour=6;byminute=0; bysecond=0 +000 20:00:00 MONDAY_WINDOW freq=daily;byday=MON;byhour=22;byminute=0; bysecond=0 +000 04:00:00
由于很多系统晚上10点还是处于业务高峰期,因此有必要调整下时间,这个要根据各自的业务自己判断,在我们系统调为:
周一到周五,凌晨1点开始,持续5个小时; 周六、周日,凌晨1点开始,持续10个小时。
用sys用户执行如下语句即可:
begin sys.dbms_scheduler.set_attribute(name => ‘SYS.MONDAY_WINDOW‘, attribute => ‘repeat_interval‘, value =http://www.mamicode.com/> ‘freq=daily;byday=MON;byhour=1;byminute=0; bysecond=0‘);>上面语句执行成功后的结果如下:WINDOW_NAME REPEAT_INTERVAL DURATION ------------------------------ ------------------------------------------------------------ -------------------- WEDNESDAY_WINDOW freq=daily;byday=WED;byhour=1;byminute=0; bysecond=0 +000 05:00:00 FRIDAY_WINDOW freq=daily;byday=FRI;byhour=1;byminute=0; bysecond=0 +000 05:00:00 SATURDAY_WINDOW freq=daily;byday=SAT;byhour=1;byminute=0; bysecond=0 +000 10:00:00 THURSDAY_WINDOW freq=daily;byday=THU;byhour=1;byminute=0; bysecond=0 +000 05:00:00 TUESDAY_WINDOW freq=daily;byday=TUE;byhour=1;byminute=0; bysecond=0 +000 05:00:00 SUNDAY_WINDOW freq=daily;byday=SUN;byhour=1;byminute=0; bysecond=0 +000 10:00:00 MONDAY_WINDOW freq=daily;byday=MON;byhour=1;byminute=0; bysecond=0 +000 05:00:00时间调整成功后,下一步就是开启11G的自动收集统计信息job,首先确认当前未开启:SYS@PROD> select client_name,status from DBA_AUTOTASK_CLIENT where client_name=‘auto optimizer stats collection‘; CLIENT_NAME STATUS ---------------------------------------------------------------- -------- auto optimizer stats collection DISABLED执行如下语句开启:BEGIN dbms_auto_task_admin.enable( client_name => ‘auto optimizer stats collection‘, operation => NULL, window_name => NULL); END; /确认已被开启:SYS@PROD> select client_name,status from DBA_AUTOTASK_CLIENT where client_name=‘auto optimizer stats collection‘; CLIENT_NAME STATUS ---------------------------------------------------------------- -------- auto optimizer stats collection ENABLED附:关闭这个job的语句:BEGIN dbms_auto_task_admin.disable( client_name => ‘auto optimizer stats collection‘, operation => NULL, window_name => NULL); END; /[Oracle] 11G自动收集统计信息
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。