zoukankan      html  css  js  c++  java
  • 执行计划基础 统计信息

    我们知道ORACLE 对sql查询是基于CBO的即根据代价来进行优化。根据代价进行优化的基础是基于统计信息。

    如果统计信息不准确,那么oracle sql查询就没有规则可依,导致查询计划出问题。

    1.ORACLE 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

    禁止收集

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

    启用

    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;

    查询运行情况

    --跟踪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 个雷人的注释,就怕你不敢用!
    Java 14 之模式匹配,非常赞的一个新特性!
    poj 3661 Running(区间dp)
    LightOJ
    hdu 5540 Secrete Master Plan(水)
    hdu 5584 LCM Walk(数学推导公式,规律)
    hdu 5583 Kingdom of Black and White(模拟,技巧)
    hdu 5578 Friendship of Frog(multiset的应用)
    hdu 5586 Sum(dp+技巧)
    hdu 5585 Numbers
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/3840298.html
Copyright © 2011-2022 走看看