oracle基础~awr报告

重点关注
一 Snapshot Information
   session 连接的总的会话数
   Cursors/session 每个会话平均打开的游标数
   Elapsed 快照产生的总时间 通过Elapsed/DB Time比较,反映出数据库的繁忙程度。如果AWR报告顶部的DB time远大于Elapsed Time,说明负载较高,记住 是远远大于
   db_time
    0 定义  数据库请求总的花费时间  举个例子就是一堆人从进理发店到出理发店 这段时间的总请求,包括在理发店里排队 DB等待  理发师为其理发(DB CPU) 时间  逻辑核心数就是理发师的数量 总时间/逻辑核心数 就是平均每个理发师所花费的总时间
    1 计算公式
   DB Time(请求时间)= DB Wait Time(DB等待时间)+ DB CPU Time(DB CPU服务时间) 不包括后台进程上CPU开销的时间以及前台进程非空闲等待时间
二 Load Profile
   DB_TIME 为每秒DB所耗费的时间 
   DB_CPU 为每秒cpu所耗费的时间
   Executes 为每秒的执行次数
   Transactions 为每秒的事务数
    Redo size  每秒产生的redo大小
    hard parses 每秒产生的硬解析数量 不能超过100
   parses  每秒产生的软解析数量 不能超过300
三 Foreground Events
   1 等待的事件 2 等待的次数 3 等待的总时间(秒) 4平均等待时间(毫秒) 5 占据总DB_TIME时间的百分比   6 事件所属的类
    等待事件 解析
    dbfile sequential read  单个数据库
    1 db file sequential read 是个非常常见的 I/O 相关的等待事件, 通常显示与单个数据块相关的读取操作, 在大多数的情况下, 读取一个索引块或者通过索引读取一个数据块时,都会记录这个等待。
   2  如果这个等待事件比较显著 TOP 10内 ,可能表示在多表连接中,表的连接顺序存在问题,可能没有正确的使用驱动表;或者可能说明不加选择地进行索引 这个事件出现 不一定是坏事, 不能说明是性能问题
   db file scattered read 多个数据块
四  main_report-sql statistics 
    这个会跳转到一个详细的SQL语句分析界面,各种维度的排行TOP SQL 进行观察
    Reads 逻辑读  Physical Reads 物理读 Parse Calls 软解析调用  sharable Momory 共享池 cache CPU Time cpu耗时  Gets 总行数排行 
    请关注平均执行时间长的SQL语句
 
五  Instance Efficiency Percentages (Target 100%)
   Buffer Hit % 数据缓冲命中率,表示了数据块在数据缓冲区中的命中率。
   Buffer Hit<95%,可能是要加db_cache_size,但是大量的非选择的索引也会造成该值很高(大量的db file sequential read)。
   Library Hit % 共享池中SQL解析的命中率。Library Hit<95%,要考虑加大共享池,绑定变量,修改cursor_sharing等。
   Soft Parse %软解析占总解析数的百分比。可以近似当作sql在共享区的命中率。
   Latch Hit % latch的命中率 其值低是因为shared_pool_size过大或没有使用绑定变量导致硬解析过多。要确保>99%,否则存在严重的性能问题,比如绑定等会影响该参数。soracle 
 
 

原文地址:https://www.cnblogs.com/danhuangpai/p/14485284.html