自动性能统计信息(三)(Automatic Performance Statistics)

1.3 管理自动工作负载库(AWR)
本节讲述如何管理AWR,包含以下主题:
    ·管理快照
    ·管理基线
    ·管理基线模板
    ·传输自动工作负载库数据
    ·使用自动工作负载库视图
    ·生成AWR报告
    ·生成AWR对比报告
    ·生成ASH报告
    ·使用ASH报告

1.3.1 管理快照
    默认情况下,Oracle数据库每小时生成一个快照,并将统计信息保留在工作负载库中8天。必要时,你可以使用DBMS_WORKLOAD_REPOSITORY程序手动生成、删除和修改快照。要调用这些程序,用户必须拥有DBA角色。
    管理快照的基本接口是OEM。只要可能,你就应该用OEM管理快照。如果OEM不可用,你可以使用DBMS_WORKLOAD_REPOSITORY包,就像下面小节描述的:
    ·创建快照
    ·删除快照
    ·修改快照设置

1.3.1.1 创建快照
    你可以使用CREATE_SNAPSHOT程序手动创建快照以在不同于自动生成快照的时段来捕获统计信息。例如:    

点击(此处)折叠或打开

  1. BEGIN
  2.   DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
  3. END;
  4. /

    在这个例子中,为该实例创建的一个快照立刻就被生成。你可以从DBA_HIST_SNAPSHOT中查看这个快照信息。

1.3.1.2 删除快照
    你可以使用DROP_SNAPSHOT_RANGE程序来删除一个范围内的快照。可以从DBA_HIST_SNAPSHOT视图查看数据库ID和快照ID。例如,你可以删除下列范围中的快照:

点击(此处)折叠或打开

  1. BEGIN
  2.   DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE (low_snap_id => 22,
  3.                            high_snap_id => 32, dbid => 3310949047);
  4. END;
  5. /

    在这个例子中,从22到32的快照全部被删除。可选项数据库ID为 3310949047,如果你不指定一个DBID值,本地数据库ID值会被作为默认值。
    当调用DROP_SNAPSHOT_RANGE程序时,属于该快照段范围所对应时段内的ASH数据也一并被删除

1.3.1.3 修改快照设置
    你可以调整指定数据库的快照间隔、保留时间和捕获的top SQL数目,但需要注意你做的这些设置可能会影响到Oracle数据库诊断工具的诊断准确性。
    间隔就是指数据库自动生成两个快照之间的时间。保留时间即数据库将快照保留在工作负载库中的时间。topsql设置快照捕获的包含详细信息的SQL语句的数目。要修改这些设置,可以使用MODIFY_SNAPSHOT_SETTINGS程序。例如:

点击(此处)折叠或打开

  1. BEGIN
  2.   DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS( retention => 43200,
  3.                  interval => 30, topnsql => 100, dbid => 3310949047);
  4. END;
  5. /

    需要注意的是,如果不指定DBID,那么本地DBID就会作为默认值。可以从DBA_HIST_WR_CONTROL中查看当前的相关设置。

1.3.2 管理基线
    管理基线的基本的接口就是OEM。同时可以通过DBMS_WORKLOAD_REPOSITORY包来管理基线。

1.3.2.1 创建基线

点击(此处)折叠或打开

  1. BEGIN
  2.     DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE (start_snap_id => 270,
  3.                    end_snap_id => 280, baseline_name => 'peak baseline',
  4.                    dbid => 3310949047, expiration => 30);
  5. END;
  6. /

    上例中,270是开始快照,280是结束快照,基线名为peak baseline。DBID选项是可选的,如果不指定,本地数据库的DBID为默认值。expiration设置为30,意即30天后基线过期将被删除。如果不指定expiration值,基线永不过期。
     系统自动给每个新创建的基线赋予一个唯一的基线ID。基线ID和DBID都可以从DBA_HIST_BASELINE中访问。

1.3.2.2 删除基线

点击(此处)折叠或打开

  1. BEGIN
  2.   DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE (baseline_name => 'peak baseline',
  3.                   cascade => FALSE, dbid => 3310949047);
  4. END;
  5. /

     cascade参数设置为false,则只删除基线。如果cascade设置为true,那么用作基线设置的相关AWR快照也会删除。不指定DBID将以本地数据库DBID值作为默认值。

1.3.2.3 重命名基线
     使用DBMS_WORKLOAD_REPOSITORY包的RENAME_BASELINE程序可以重命名基线。

点击(此处)折叠或打开

  1. BEGIN
  2.     DBMS_WORKLOAD_REPOSITORY.RENAME_BASELINE (
  3.                    old_baseline_name => 'peak baseline',
  4.                    new_baseline_name => 'peak mondays',
  5.                    dbid => 3310949047);
  6. END;
  7. /

     上例基线名从peak baseline变为peak mondays,不指定DBID将以本地数据库DBID值作为默认值。

     

     

    
待续

时间: 2024-08-02 06:03:40

自动性能统计信息(三)(Automatic Performance Statistics)的相关文章

自动性能统计信息(一)(Automatic Performance Statistics)

    本章主要描述收集性能统计信息,主要包括以下主题:     ·统计信息收集概要     ·自动工作负载库概览     ·管理自动工作负载库     1.统计信息收集概要     为了有效诊断性能问题,统计信息必须得以访问.Oracle数据库为系统.会话以及单个SQL语句生成许多类型的累积统计信息.Oracle数据库同样跟踪段和服务的累积统计信息.当在这些范围中任意一个范畴中分析一个性能问题时,你自然而然地查看你感兴趣的时间段的统计信息(δ值).特别的,你会查看在一个时间段的起始与结束的时候

自动性能统计信息(二)(Automatic Performance Statistics)

1.2自动工作负载库(AWR)概览    AWR收集.处理并维护性能统计信息以用来侦测问题和自我调优.这些数据同时存储在内存和数据库中.收集的数据既可以呈现在报告中,又可以从视图中查询.     AWR收集的统计信息包括:     ·决定对数据库段的访问和使用量的统计信息的对象统计信息     ·关于活动的基于时间消耗量的时间模型统计信息,可访问V$SYS_TIME_MODEL和V$SESS_TIME_MODEL视图     ·收集在V$SYSSTAT和V$SESSTAT视图中的一些系统和会话统

oracle 数据库统计信息收集

Statistic 对Oracle 是非常重要的. 它会收集数据库中对象的详细信息,并存储在相应的数据字典里. 根据这些统计信息, optimizer 可以对每个SQL 去选择最好的执行计划. 在9i 及之前的版本,在选择执行计划的时候会根据RBO(Rule-BasedOptimization)或者CBO来分析. 10g及以后版本只支持CBO(Cost-BasedOptimization).  优化器收集的统计信息包括如下内容:             1)Table statistics   

Oracle 判断 并 手动收集 统计信息 脚本

CREATE OR REPLACE PROCEDURE SchameB.PRC_GATHER_STATS AUTHID CURRENT_USER IS BEGIN SYS.DBMS_STATS.GATHER_TABLE_STATS('SchName', 'TableName', CASCADE => TRUE); END; /   select owner,table_name,last_analyzed,num_rows from dba_tables where owner='SYSTEM'

MS SQL 统计信息浅析上篇

统计信息概念     统计信息是一些对象,这些对象包含在表或索引视图中一列或多列中的数据分布有关的统计信息.数据库查询优化器使用这些统计信息来估计查询结果中的基数或行 数. 通过这些基数估计,查询优化器可以生成高质量的执行计划. 例如,查询优化器可以使用基数估计选择索引查找运算符而不是耗费更多资源的索引扫描运算符,从而提高查询性能.[参考MSDN]     其实如果你以前没有接触过统计信息,你可以将其看做是数据库为了得到最优的执行计划,统计数据库里面表.索引等对象的一些数据,例如表的记录数.所有

Greenplum 自动统计信息收集 - 暨统计信息不准引入的broadcast motion一例

标签 PostgreSQL , Greenplum , 统计信息 , 自动统计信息 , broadcast motion , 执行计划 背景 数据库执行计划的好坏,与数据库的SQL优化器息息相关.Greenplum有两套优化器,legacy query optimizer 与 ORCA. 这两个优化器都是CBO优化器,都需要依赖统计信息,如果统计信息不准确,可能生成的执行计划就不准确. 例如我们有一个这样的QUERY,发现怎么跑都跑不出来. 观察执行计划,发现有一个节点用到了broadcast

一个 Sql语句优化的问题- STATISTICS 统计信息

前段时间,同事遇到一个 Sql语句的问题,一个列表分页功能响应在30 s以上,看数据库里面的数据条数,数据量也不大,相关字段的一些索引也都有,可就是慢.于是找出具体的sql 语句出来分析,分页功能主要有个sql 语句,select 查询和 count 两条语句. select 查询字段的时候,速度挺快,执行时间在1 s以内 ,但是执行count(1)  的时候,速度巨慢,执行时间增加到10 s以上.奇怪的是count 语句为什么会比select 语句还慢呢.总之可以确定的就是count语句导致的

oracle数据泵导入分区表统计信息报错(三)

前不久检查了一篇以往的BLOG,意外的发现这个bug居然被我忘记了,时隔一年继续解决这个问题. 根据上一篇文章所介绍的分析过程,基本上可以确认和这几张分区表的统计信息本身有关. 由于当前数据库是从920环境EXP导出,IMP导入到同版本的中间数据库,最终通过数据泵IMPDP导入到当前数据库的.而分区表由于无法解决表空间的转换问题,因此在中间数据库手工创建,在IMP导入的时候指定了IGNORE=Y参数. 而现在恰好问题出在这个用户的所有分区表上,难道问题和迁移的过程有关系.检查了当时的脚本,没有发

Oracle自动性能统计

Oracle自动性能统计   高效诊断性能问题,需要提供完整可用的统计信息,好比医生给病人看病的望闻问切,才能够正确的确诊,然后再开出相应的药方.Oracle数据库为系统.会话以及单独的sql语句生成多种类型的累积统计信息.本文主要描述Oracle性能统计涉及到的相关概念及统计对象,以更好的利用统计信息为性能调整奠定基础. 一.性能统计信息的几个术语 增量值(delta)   性能统计信息依赖于delta值的累计,即增量值.增量值反映了在某个特定时段某个特定事件的趋势,或者说波动的幅度.通过对比