zoukankan      html  css  js  c++  java
  • Oracle 11g 自动收集统计信息

    一、开启与关闭自动收集统计信息

    1、查看是否开启

    select client_name,status from dba_autotask_client;

    2、开启

    exec DBMS_AUTO_TASK_ADMIN.ENABLE(client_name => 'auto optimizer stats collection',operation => NULL,window_name => NULL);

    3、关闭

    exec DBMS_AUTO_TASK_ADMIN.DISABLE(client_name => 'auto optimizer stats collection',operation => NULL,window_name => NULL);

    4、查看自动收集任务历史执行状态

    通过时间窗口名称可以看出是周几执行的,在时间窗口内创建了几次job,执行了几次job

    SELECT window_start_time, client_name, window_name, jobs_created, jobs_started, jobs_completed
      FROM dba_autotask_client_history
     WHERE client_name like '%stats%';

    5、查看每天自动信息采集时间

    SELECT w.window_name,

                   w.repeat_interval,
                   w.duration,
                   w.enabled
              FROM dba_autotask_window_clients c, dba_scheduler_windows w
             WHERE c.window_name = w.window_name AND c.optimizer_stats = 'ENABLED';

    --备注:
    #freq=daily:每天收集;
    #byday=SUN:一周之内的星期,例如这里是星期日;
    #byhour=22 :每天的时间点时,这里是22时;
    #byminute=0:每天的的时间点分,这里是0分,则第1分;
    #bysecond=0:每天的时间点秒,这里是0秒,则第1秒;
    #+000 20:00:00 :表示收集信息的时间区间长,这里表示20小时

    6、查询自动收集任务正在执行的JOB

    select client_name, JOB_SCHEDULER_STATUS
      from DBA_AUTOTASK_CLIENT_JOB
     where client_name = 'auto optimizer stats collection';

    这个查询没有结果也很正常,只有job正在运行时,该查询才有结果。

    二、调整数据库自动信息采集

    1、关闭单个调度时间窗口

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

    /

    周一已经关闭

    2、开启单个调度时间窗口及所有时间调度窗口,只需要使用enable过程
            -- 注:单个应指定窗口名字,如window_name   => 'MONDAY_WINDOW'
            BEGIN
               DBMS_AUTO_TASK_ADMIN.enable (
                  client_name   => 'auto optimizer stats collection',
                  operation     => NULL,
                  window_name   => NULL);
            END;

    /

    3、更改自动收集统计信息时间

    begin 
      dbms_scheduler.disable(name => 'MONDAY_WINDOW'); 
      dbms_scheduler.set_attribute(
      name      => 'MONDAY_WINDOW',                              
      attribute => 'REPEAT_INTERVAL',                              
      value     => 'freq=daily;byday=MON;byhour=2;byminute=0; bysecond=0');
      dbms_scheduler.enable(name => 'MONDAY_WINDOW');
    end;
    /

  • 相关阅读:
    《JAVA多线程编程核心技术》 笔记:第四章、Lock的使用
    服务器负载粗略估算
    spring事务传播性理解
    BlockingQueue 阻塞队列2
    六大原则
    mycat之schema.xml理解
    mycat分库读写分离原理
    sqlservere连接问题
    java代码添加mysql存储过程,触发器
    Amoeba+Mysql实现读写分离+java连接amoeba
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/10808661.html
Copyright © 2011-2022 走看看