zoukankan      html  css  js  c++  java
  • oracle 10053 trace

    10053事件是oracle提供的用于跟踪sql语句成本计算的内部事件,
    它能记载CBO模式下oracle优化器如何计算 sql成本,生成相应的执行计划。

    如何设置10053事件
    设置本session的10053
    开启:
    Alter session set events’10053 trace name context forever[,level {1/2}]’;
    关闭:
    Alter session set events’10053 trace name context off’;

    设置其他session的10053
    开启:
    SYS.DBMS_SYSTEM.SET_EV (<sid>, <serial#>, 10053, {1|2}, '')
    关闭:
    SYS.DBMS_SYSTEM.SET_EV (<sid>, <serial#>, 10053,0, '')

    跟其他跟踪事件不同,10053提供了两个跟踪级别,
    但是级别2的跟踪信息比级别1少(其他跟踪事件如10046跟踪级别越高信息越多),
    跟踪信息将被记录到user_dump_dest目录底下。
    注意,要实现跟踪必须满足两个条件:sql语句必须被hard parse并且必须使用CBO优化器模式。
    如果sql语句已经被parse过,那么10053不生成跟踪信息。
    如果你使用RULE优化器,那么10053 也不会生成跟踪信息。

    ***************************************
    BASE STATISTICAL INFORMATION
    ***************************************
    Table stats    Table: TEST   Alias: TEST
      TOTAL ::  CDN: 999  NBLKS:  13  AVG_ROW_LEN:  86
    -- Index stats
      INDEX NAME: IDX_OBJECT_ID  COL#: 4
        TOTAL ::  LVLS: 1   #LB: 3  #DK: 999  LB/K: 1  DB/K: 1  CLUF: 582
    _OPTIMIZER_PERCENT_PARALLEL = 0
    ***************************************
    对于TABLE:
    Trace label            dba_tables column               describe
    CDN                      NUM_ROWS                          The cardinality = number of rows of the table
    NBLKS                   BLOCKS                                The number of blocks below the high water mark
    AVG_ROW_LEN     AVG_ROW_LEN                    The average length of a row

    对于INDEX:
    Trace label          dba_indexes column              describe
    LVLS                   BLEVEL                                   The height of the index b-tree
    #LB                    LEAF_BLOCKS                         The number of leaf blocks
    #DK                   DISTINCT_KEYS                       The number of distinct keys of the index
    LB/K                   AVG_LEAF_BLOCKS_PER_KEY  The average number of leaf blocks per key
    DB/K                  AVG_DATA_BLOCKS_PER_KEY   The average number of data blocks per key
    CLUF                 CLUSTERING_FACTOR               The clustering factor of the index

    验证如下:

    SQL> select TABLE_NAME,
      2         NUM_ROWS "CDN",
      3         BLOCKS "NBLKS",
      4         AVG_ROW_LEN "AVG_ROW_LEN "
      5    From dba_tables
      6   where table_name = 'TEST'
      7     and owner = 'SYS';

    TABLE_NAME                            CDN      NBLKS AVG_ROW_LEN
    ------------------------------          ---------- ---------- ------------
    TEST                                        999         13           86

    SQL> select index_name,
      2         BLEVEL "LVLS",
      3         LEAF_BLOCKS "#LB",
      4         DISTINCT_KEYS "#DK",
      5         AVG_LEAF_BLOCKS_PER_KEY "LB/K",
      6         AVG_DATA_BLOCKS_PER_KEY "DB/K",
      7         CLUSTERING_FACTOR "CLUF"
      8    from dba_indexes
      9   where owner = 'SYS'
    10     AND index_name = 'IDX_OBJECT_ID';

    INDEX_NAME                           LVLS        #LB        #DK       LB/K       DB/K       CLUF
    ------------------------------          ---------- ---------- ---------- ---------- ---------- - ---------
    IDX_OBJECT_ID                           1          3           999          1          1            582

  • 相关阅读:
    【笔记】求数据前n个主成分以及对高维数据映射为低维数据
    使用sklearn中的fetch_mldata的错误情况以及可能可行的解决方法
    【笔记】求数据的对应主成分PCA(第一主成分)
    【笔记】主成分分析法PCA的原理及计算
    【笔记】如何确定梯度计算的准确性以及调试梯度下降法
    【笔记】随机梯度下降法
    【笔记】线性回归中的梯度下降法(实现以及向量化并进行数据归一化)
    AttributeError: module 'numpy' has no attribute 'num'
    灵雀云CTO陈恺:从“鸿沟理论”看云原生,哪些技术能够跨越鸿沟?
    容器云在证券行业的探索与实践
  • 原文地址:https://www.cnblogs.com/wbzhao/p/2408442.html
Copyright © 2011-2022 走看看