zoukankan      html  css  js  c++  java
  • [bbk5139]第77集 第9章 数据库性能维护 04

    Optimizer Statistics Collection

    • Ways to collect statistics:
      • -Automatically:Automatic Maintenance Tasks(自动搜集统计数据信息的功能,是自oracle10g以后才有的)

    查看系统里的job信息

    SQL> select owner,job_name from dba_scheduler_jobs;
    
    OWNER                          JOB_NAME
    ------------------------------ ------------------------------
    SYS                            XMLDB_NFS_CLEANUP_JOB
    SYS                            SM$CLEAN_AUTO_SPLIT_MERGE
    SYS                            RSE$CLEAN_RECOVERABLE_SCRIPT
    SYS                            FGR$AUTOPURGE_JOB
    SYS                            BSLN_MAINTAIN_STATS_JOB
    SYS                            DRA_REEVALUATE_OPEN_FAILURES
    SYS                            HM_CREATE_OFFLINE_DICTIONARY
    SYS                            ORA$AUTOTASK_CLEAN
    SYS                            FILE_WATCHER
    SYS                            PURGE_LOG
    ORACLE_OCM                     MGMT_STATS_CONFIG_JOB
    
    OWNER                          JOB_NAME
    ------------------------------ ------------------------------
    ORACLE_OCM                     MGMT_CONFIG_JOB
    EXFSYS                         RLM$SCHDNEGACTION
    EXFSYS                         RLM$EVTCLEANUP
    ARCER                          JOB_INVEST_20110630
    U2                             ADD_DEPT_JOB
    
    16 rows selected.

    使用job方式,自动运行搜集统计数据信息,采取的方式是估算;也就是说并不一定每个对象都会进行搜集.假如说一张表有100多万条记录,Job执行之前仅有200多条记录发生变化,Job在搜集数据统计信息时,有可能不会统计它,因为200多条记录对于100多万条记录,对于执行计划的判断,基本上没有影响;

      • -Manually:DBMS_STATS package

    统计数据分析的时候,手工方式进行搜集是不可避免的:1、数据库移植;2、锁定某张表,不再进行统计数据搜集;3、有的表不进行搜集时没错,反而进行搜集的时候报错了;... 

    有时候根据业务需求,需要将统计数据进行删除,具体删除方法如下:

    execute dbms_stats.delete_table_stats('SCOTT','EMP1');

    oracle 10g以后,已经不存在基于规则的优化方式,而是采用基于代价的优化方式.

      • By Setting database initialization parameters

    决定oracle动态采样数据的参数;样本容量越小,性能越高;反之...

    SQL> show parameter optimizer_dynamic_sampling;
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    optimizer_dynamic_sampling           integer     2
      •  By importing statistics from another database

    将生产库中表的统计数据信息,导入到测试库中,进行查看分析.从而不影响真实生产库.

  • 相关阅读:
    三 面向对象之绑定方法与非绑定方法
    二 面向对象三大特性
    一 面向对象定义
    面向对象路线
    七 递归与二分法、匿名函数、内置函数
    线程同步测试
    Oracle12c的安装
    git教程:添加远程仓库
    git教程:远程仓库
    git教程:删除文件
  • 原文地址:https://www.cnblogs.com/arcer/p/3115576.html
Copyright © 2011-2022 走看看