zoukankan      html  css  js  c++  java
  • oracle自动表分析

    oracle 表的统计信息,跟他的执行计划很有关联

    执行计划的正常是否,跟SQL的执行速度很有关系

    首先讲解一下如何查看一个数据库的是否开启自动统计分析

    1、查看参数:STATISTICS_LEVEL(在V$PARAMETER表中查看数据的情况),10g中默认为typical,只有将STATISTICS_LEVEL参数设置为ALL或者typical才能让ORACLE识别过期的统计信息。

    2、自动表分析每天晚上10开始,那说明应该是JOB定时在处理,自动统计分析的JOB是:GATHER_STATS_JOB。

    每个对象都有相应的属性,JOB相应的属性记录在DBA_SCHEDULER_JOBS这个字典中。

    在DBA_SCHEDULER_JOBS这个视图中特别需要关注的,enabled这个字段,TRUE:表示启用,FALSE: 表示关闭

    3、查看每天JOB的执行情况

    通过查看DBA_SCHEDULER_JOB_RUN_DETAILS这个视图,可以观察自动表分析的JOB有没有执行过 GATHER_STATS_JOB

    如何开启自动统计信息收集

    1、修改参数值

    alter system set STATISTICS_LEVEL=typical;

    2、启动GATHER_STATS_JOB这个JOB

    BEGIN

          DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB');

       END;

    如何关闭统计信息

    1、修改参数值

    alter system set STATISTICS_LEVEL=basic;

    2、关闭GATHER_STATS_JOB这个JOB

    BEGIN

          DBMS_SCHEDULER.ENABLED('GATHER_STATS_JOB');

       END;

    监控数据的变化程度,关于增、删、改数据的变化量

    记录在DBA_TAB_MODIFICATIONS视图里面。我们在查询DBA_TAB_MODIFICATIONS视图的时候有可能查询不到结果,或者查询的结果不准确,这个时候需要用DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO过程将内存中的信息刷新到该视图中

  • 相关阅读:
    zzuli oj 1120 最值交换
    zzuli oj 1119 一维数组排序
    zzuli oj 1118 数列有序
    zzuli oj 1117 查找数组元素
    寒假集训 字符串专题 1001
    zzuli oj 1116
    A
    Codeforces Round #615 (Div. 3) E. Obtain a Permutation
    Codeforces Round #615 (Div. 3) F. Three Paths on a Tree
    Codeforces Round #603 (Div. 2)F. Economic Difficulties
  • 原文地址:https://www.cnblogs.com/willsun8023/p/4899050.html
Copyright © 2011-2022 走看看