执行计划之统计信息

/*
1. 11g默认启动了统计信息收集的任务,默认运行时间是周一到周五晚上10点和周6,周天的早上6点
2. 你也可以关闭自动统计新收集任务,选择手工收集的方式,但是一般不建议这样操作。
*/


  select window_name, 
         window_next_time, 
         autotask_status, 
         optimizer_stats
    from DBA_AUTOTASK_WINDOW_CLIENTS;


WINDOW_NAME         WINDOW_NEXT_TIME                              AUTOTASK OPTIMIZE
------------------- ------------------------------------------------ -------- -----
MONDAY_WINDOW       13-1月 -14 10.00.00.000000 下午 +08:00        ENABLED  ENABLED
TUESDAY_WINDOW      14-1月 -14 10.00.00.000000 下午 +08:00        ENABLED  ENABLED
WEDNESDAY_WINDOW    15-1月 -14 10.00.00.000000 下午 +08:00        ENABLED  ENABLED
THURSDAY_WINDOW     16-1月 -14 10.00.00.000000 下午 +08:00        ENABLED  ENABLED
FRIDAY_WINDOW       17-1月 -14 10.00.00.000000 下午 +08:00        ENABLED  ENABLED
SATURDAY_WINDOW     11-1月 -14 06.00.00.000000 上午 +08:00        ENABLED  ENABLED
SUNDAY_WINDOW       12-1月 -14 06.00.00.000000 上午 +08:00        ENABLED  ENABLED


select client_name,status from dba_autotask_client
 where client_name='auto optimizer stats collection';


CLIENT_NAME                           STATUS
--------------------------------------------
auto optimizer stats collection      ENABLED


/*
禁用这个任务的sql如下:(其实默认是有auto space advisor段指导、sql tuning advisor自动SQL优化和收集统计信息3个任务。
不过那2个基本没啥用,可以禁掉!):
*/


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


--启用
begin
  dbms_auto_task_admin.enable;
  dbms_auto_task_admin.enable('auto optimizer stats collection', null,null);
end;
begin
  dbms_auto_task_admin.enable('auto optimizer stats collection', null,'WEDNESDAY_WINDOW');
  dbms_auto_task_admin.enable('auto optimizer stats collection', null,'FRIDAY_WINDOW');
  dbms_auto_task_admin.enable('auto optimizer stats collection', null,'SATURDAY_WINDOW');
  dbms_auto_task_admin.enable('auto optimizer stats collection', null,'THURSDAY_WINDOW');
  dbms_auto_task_admin.enable('auto optimizer stats collection', null,'TUESDAY_WINDOW');
  dbms_auto_task_admin.enable('auto optimizer stats collection', null,'SUNDAY_WINDOW');
  dbms_auto_task_admin.enable('auto optimizer stats collection', null,'MONDAY_WINDOW');
end;


 
--配置维护窗口:
--可是使用DBMS_SCHEDULER 包来修改窗口属性。
--1:修改维护窗口
--先禁用维护窗口
BEGIN
dbms_scheduler.disable(
    name  => 'SATURDAY_WINDOW');
--修改维护窗口属性:
dbms_scheduler.set_attribute(
    name      => 'SATURDAY_WINDOW',
    attribute => 'DURATION',
    value     => numtodsinterval(4, 'hour'));
--启用维护窗口
dbms_scheduler.enable(
    name => 'SATURDAY_WINDOW');
END;
/
--对于当前打开的窗口,你需要首先禁用,然后修改再启用,配置立即生效,如果你不通过这三个过程来修改属性,属性是不会生效的,直到下一次窗口打开。


--2:创建新窗口:
BEGIN
dbms_scheduler.create_window(
    window_name     => 'EARLY_MORNING_WINDOW',
    duration        =>  numtodsinterval(1, 'hour'),
    resource_plan   => 'DEFAULT_MAINTENANCE_PLAN',
    repeat_interval => 'FREQ=DAILY;BYHOUR=5;BYMINUTE=0;BYSECOND=0');
dbms_scheduler.add_window_group_member(
    group_name  => 'MAINTENANCE_WINDOW_GROUP',
    window_list => 'EARLY_MORNING_WINDOW');
END;
/
--3:删除窗口:
BEGIN
DBMS_SCHEDULER.REMOVE_WINDOW_GROUP_MEMBER(
    group_name  => 'MAINTENANCE_WINDOW_GROUP',
    window_list => 'EARLY_MORNING_WINDOW');
END;
/
 
--跟踪job运行情况:
--可以通过查询视图DBA_AUTOTASK_HISTORY追踪job运行情况:
select client_name,job_name,job_start_time
     from dba_autotask_job_history where client_name='auto optimizer stats collection'
     order by job_start_time desc;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值