暂无图片
暂无图片
22
暂无图片
暂无图片
暂无图片

Oracle AWR学习笔记

原创 ORA-00001 2022-03-09
4808

1、概述

     AWR是Automatic Workload Repository 自动工作负载库的简称,是Oracle 10g 版本推出的新特性。这个工具可以用来自动采集Oracle运行中的负载信息,通过对比两次快照收集到的统计信息,来生成报表统计数据,我们可以根据这些统计数据来分析一些潜在的问题。

2、进程

     AWR由两个后台进程根据设定时间自动采集,分别是MMON(主进程)和MMNL(为从进程),MMON进程负责执行多种和管理相关的后台任务,MMNL负责执行轻量级管理相关的后台任务。

MMON 应该是 Memory Monitor 的缩写
The memory monitor (MMON) process was introduced in 10g and is associated
with the Automatic Workload Repository new features used for automatic
problem detection and self-tuning. MMON writes out the required statistics
for AWR on a scheduled basis. 

MMNL是 Memory Monitor Light (MMNL) 的缩写
The Memory Monitor Light (MMNL) process is a new process in 10g which works
with the Automatic Workload Repository new features (AWR) to write out full
statistics buffers to disk as needed.    

3、AWR报告生成

     通过调用@?/rdbms/admin/awrrpt.sql脚本来生成AWR报告,指定2个快照的Snap Id即可。




4、查看AWR的采样间隔及保留时间

SQL> select * from dba_hist_wr_control;


5、AWR报告必读部分

  • 查看AWR报告头信息

  • 查看主机和实例的CPU使用情况

  • 查看内存使用情况

  • 查看表空间的I/O性能情况

  • 分析Top 10 Foreground Events by Total Wait Time

  • 查看Load profile内容

6、AWR报告头部信息


  • Release:数据库的版本信息。

  • RAC:是否为集群数据库,如果配置为集群数据库,还需要查看其他实例的AWR报告。

  • Platform:平台信息,有些问题跟特定平台有关 。

  • CPUs/Cores/Sockets:逻辑CPU数/CPU Cores数/物理Sockets数

  • Memory(GB):物理内存大小,单位GB。

  • Snap Time:AWR报告开始快照和结束快照生成的时间,AWR报告的时间区间。

  • Sessions:AWR开始快照和结束快照时实例当时的会话数。

  • Elapsed:AWR报告跨越的计时时间。

  • DB Time:在AWR快照期间内所有会话花费在数据库内部的合计调用时间。

7、主机和实例CPU使用率


  • %Idle:主机在AWR报告期间内平均的CPU空闲时间百分比。

  • %Total CPU:数据库实例占用主机总的有效CPU时间百分比。

  • %Busy CPU:在主机非空闲CPU时间中,用于数据库实例占用的百分比。

8、数据库内存使用情况


  • Host Mem(MB):主机的可用物理内存。

  • SGA use(MB):SGA在开始和结束快照时使用的内存量。

  • PGA use(MB):PGA在开始和结束快照时使用的内存量。

  • % Host Mem used for SGA+PGA:SGA加PGA合计使用的内存占物理内存百分比。

注意:SGA加PGA合计使用的内存占物理内存百分比并不等同于ORACLE实例占用的总内存量!

9、表空间IO使用情况


  • Reads : 指该表空间上发生的物理读的次数(单位不是块,而是次数)。

  • Av Reads/s : 指该表空间上平均每秒的物理读次数 (单位不是块,而是次数)。

  • Av Rd(ms): 指该表空间上每次读的平均读取延迟。

  • Av Blks/Rd: 指该表空间上平均每次读取的块数目,因为一次物理读可以读多个数据块;如果 Av Blks/Rd>>1则可能系统有较多 db file scattered read。

  • Writes : 该表空间上发生的物理写的次数。

  • Av Writes/s : 指该表空间上平均每秒的物理写次数。

  • buffer Waits: 该表空间上发生 buffer busy waits 和 read by other session 的次数( 9i中 buffer busy waits 包含了 read by other session)。

  • Av Buf Wt(ms): 该表空间上发生 buffer Waits 的平均等待时间,单位为ms。

10、Top 10 Foreground Events by Total Wait Time


首先,关注Wait Class,优先确认是否有”Concurrency”类型的等待事件。如果有类型为“Concurrency”的等待事件,并且数据库不空闲时通常就可以直接确定数据库有性能问题。否则,按Wait Class进行分类分析,使确定“数据库是否存在性能问题”变得相对容易,此例中,存在着Cluster、Commit和Application这三类资源的等待事件。

11、查看Load profile内容


  • Redo size:每秒/每事务产生的redo大小(单位字节)。

  • Logical reads:每秒/每事务逻辑读的大小(单位块)。

  • Block changes:描述数据块的变化(单位块)。

  • Physical reads: 物理读(单位块),即前台session的花费。

  • Physical writes: (单位块)前台session的花费,并不是一个衡量IO的指标,IO负载一般参考Instance Activity Stats中的。

  • Parses:每秒/每事务的SQL语句解析的次数,包括软解析+硬解析,parses超过每秒300表明可能有争用问题。

  • Hard parses:每秒/每事务硬解析的次数,如果硬解析次数太高,说明SQL重用率不高。避免硬解析的方法是尽可能的使用绑定变量,Hard Parses大于每秒100表明可能有争用问题。

  • Executes:每秒/每事务SQL执行次数,包括用户执行的SQL语句与系统执行的SQL语句。

  • Rollbacks:回滚次数,反应回滚频率。

  • Transactions:每秒产生的事物数。

第一次发,如有错误,欢迎大家留言指正,谢谢大家~

最后修改时间:2022-03-09 17:03:57
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论