管理 AWR(一)

AWR 说明

            Oracle 10g之前对数据库做性能检测使用statspack工具。关于statspack的说明

            Oracle Database 10g 提供了一个新的工具:(AWR:Automatic Workload Repository)。Oracle 建议用户用这个取代 Statspack。AWR 实质上是一个 Oracle 的内置工具,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题。

            与 Statspack 不同,快照由一个称为 MMON 的新的后台进程及其从进程自动地每小时采集一次。为了节省空间,采集的数据在 7 天后自动清除。快照频率和保留时间都可以由用户修改。它产生两种类型的输出:文本格式(类似于 Statspack 报表的文本格式但来自于 AWR 信息库)和默认的 HTML 格式(拥有到部分和子部分的所有超链接),从而提供了非常用户友好的报表。

            AWR 使用几个表来存储采集的统计数据,所有的表都存储在新的名称为 SYSAUX 的特定表空间中的 SYS 模式下,并且以 WRM$_* 和 WRH$_* 的格式命名。前一种类型存储元数据信息(如检查的数据库和采集的快照),后一种类型保存实际采集的统计数据。H 代表“历史数据 (historical)”而 M 代表“元数据 (metadata)”。

            在这些表上构建了几种带前缀 DBA_HIST_ 的视图,这些视图可以用来编写您自己的性能诊断工具。视图的名称直接与表相关;例如,视图 DBA_HIST_SYSMETRIC_SUMMARY 是在WRH$_SYSMETRIC_SUMMARY 表上构建的。

  AWR主要指标:
SQL和优化器指标

OS指标

等待事件类型

时间指标

注意一点:

            statistics_level 默认是typical,在10g中表监控是激活的,强烈建议在10g中此参数的值是typical。如果STATISTICS_LEVEL设置为basic,不仅不能监控表,而且将禁掉如下一些10g的新功能:

            ASH(Active Session History)

            ASSM(Automatic Shared Memory Management)

            AWR(Automatic Workload Repository)

            ADDM(Automatic Database Diagnostic Monitor)

SQL> show parameter statistics_

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

statistics_level                     string      TYPICAL

 

1AWR报告管理

        Oracle 10g 以后推出的主要是用于DBA诊断数据性能的报告。简单来说就是一堆的历史数据的信息汇总

       1)、Awr报告保留时间:10g 711g 8天,默认快照间隔1个小时但是可以更改。

·    可以通过dbms_workload_repostitory.modify_snapshot_settings存储过程修改,Awr的核心就是dbms_workload_repostitory包。

·       例子:调整AWR产生snapshot的频率和保留策略,如:如将收集间隔时间改为30分钟一次。并保留5天时间(注:单位都是为分钟)
  
       exec dbms_workload_repository.modify_snapshot_settings(interval=>30, retention=>5*24*60);

·    查看 AWR设置SELECT * FROM DBA_hist_wr_control

·    关闭AWR,interval设为0则关闭自动捕捉快照

                SQL> exec dbms_workload_repository.modify_snapshot_settings(interval=>0);

·    手动执行一个快照Exec dbms_workload_repository.create_snapshot();

·    查看快照select * from sys.wrh$_active_session_history

·    查看AWR的快照ID

SELECT SNAP_ID,

       to_char(BEGIN_INTERVAL_TIME,'yyyy-mm-dd hh24:mi:ss') BEGIN_INTERVAL_TIME,

       to_char(STARTUP_TIME,'yyyy-mm-dd hh24:mi:ss') STARTUP_TIME

FROM dba_hist_snapshot ORDER BY 1;

·    手工删除指定范围的快照dbms_workload_repository.drop_snapshot_range(low_snap_id =>54, high_snap_id =>60, dbid =>1333331987);

·    AWR数据导出并迁移到其它数据库以便于以后分析

        SQL> exec DBMS_SWRF_INTERNAL.AWR_EXTRACT(dmpfile => 'awr_data.dmp', mpdir => 'DIR_BDUMP', bid => 1003, eid => 1013);

·    迁移AWR数据文件到其他数据库

        SQL> exec DBMS_SWRF_INTERNAL.AWR_LOAD(SCHNAME => 'AWR_TEST', dmpfile => 'awr_data.dmp', dmpdir => 'DIR_BDUMP');

·    AWR数据转移到SYS模式中:

        SQL> exec DBMS_SWRF_INTERNAL.MOVE_TO_AWR (SCHNAME => 'TEST');

       

       2)、AWR报告数据信息存在sysaux表空间.

                资源库repository

有三类表保存在SYSAUX表空间中

sys.wri$_   (internal)内部

sys.wrm$_   (metadata)元数据

sys.wrh$_   (history)历史

       3)、单实例生成AWR: sql> @?/rdbms/admin/awrrpt

            多实例(rac):sql> @?/rdbms/admin/awrrpt多一个i

            11g新特性:全局awrsql> @?/rdbms/admin/awrgrpt 多一个g

            Awr对比报告: sql> @?/rdbms/admin/awrddrpt 可以选择两个时间段生成AWR报告。

            snap号不能跨越关机.

            生成报告的目录:为你登录SQLPLUS时的目录。

 

              sys之外的用户(SCOTT)创建 AWR 报告:

CONNECT / AS SYSDBA

GRANT ADVISOR TO SCOTT;

GRANT SELECT_CATALOG_ROLE TO SCOTT;

GRANT EXECUTE ON sys.dbms_workload_repository TO SCOTT;            

 

       4AWR基线 所谓基线就是度量的指标的标准参考。

      基线定义为一定范围内的快照,它可以用来与其他快照进行比较。也可以理解为指定需要保留的AWR SNAPSHOT,目的就是不会被AWR清除程序把这些快照清掉,当然你也可以先产生好awr report,然后保留下来,与后来产生的awr report对比

·    创建一个awr基线

Exec dbms_workload_respository.create_baseline(start_snapshot,end_snapshot,baseline_name);

exec dbms_workload_repository.create_baseline(start_snap_id=>642,end_snap_id=>648,baseline_name=>'EOM Baseline');

start_snapshot开始的快照时

start_snapshot开始的快照id   

end_snapshot结束的快照id

baseline_name:基线的名字

·    删除基线

exec DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE(baseline_name => ' apply_interest_1', cascade => FALSE);

·    查看基线通过视图DBA_HIST_BASELINE  select * from dba_hist_baseline

 

2AWR数据来源

        Awr数据信息存放地点:

   DBA_ADIVSOR_*

   DBA_HIST_*

   DBA_FEATURE_*

   DBA_HIGH_WATER_MARK_*

   DBA_TAB_STATS_HISTORY   这只是一部分

 

 

3AWR指标统计

·    SQL,优化器指标

·    OS指标

·    等待事件类型

·    时间指标

 

·    SQL,优化器指标

        上面的awr写的是花费cpu时间sql 排序,最上面的那个sql花费的cpu时间最多,可以考虑优化。

 

 

       度量 metric

                ASH ACTIVE SESSION HISTORY以理解为ash的内容是awr内容的再一次数据挖掘查询v$active_session_history

                ADVISOR

                数据库的特性使用情况

 

4AWR进程

        维护进程:mmon(manageeability monitor process),Mmon有很多子进程也叫从属进程:m00x

        SQL> select name,DESCRIPTION from v$bgprocess where name like 'MMON%';

NAME  DESCRIPTION

----- ----------------------------------------------------------------

MMON  Manageability Monitor Process

        1:启动slave进程m00x去做awr快照

        2:当某个度量阀指被超过时发出alert告警

        3:为最近改变过sql对象捕获指标信息

       

        sga 里面收集统计信息,通过mmon 进程做awr报告。同时sga的信息被v$性能视图抓取。awr快照的信息又反馈给dba_*一类的视图,进而反馈给外部客户端,比如emsqlplussga的统计信息又可以反馈给内部客户端。比如addm

       

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值