手工收集awr报告_一个Oracle小白的AWR报告分析(二)

本文介绍了作者在分析一个准实时数据分析系统性能问题时,借助AWR报告进行诊断的过程。通过对AWR报告的深入分析,发现主要等待事件涉及全表扫描、磁盘I/O和Library Cache Lock,提出可能的原因及优化建议,如优化磁盘存储、减少事务提交次数和改进SQL执行效率。
摘要由CSDN通过智能技术生成

背景:某个类似准实时的数据分析系统,每15分钟从其他6个数据库中抽取五百张增量数据表,并进行15分钟粒度统计,同时有个前端门户进行查询。

该数据分析系统由数据抽取服务器、应用服务器、数据库服务器组成,全部为虚拟机环境。

问题:当数据抽取定期执行时,应用门户每个页面访问都极其缓慢,10分钟无法响应,甚至无法打开。

初步诊断:厂家一直认为是磁盘问题,甚至准备采用读写分离方式优化。

具体诊断:以数据来说话,以AWR报告为依据,评估和定位问题核心所在。

很久没研究Oracle了,最后正式使用Oracle还是2011年,也想趁此机会,把Oracle复习一下。

AWR是 Oracle 10g 版本推出的新特性,全称叫Automatic Workload Repository-自动负载信息库。

AWR 是通过对比两次快 照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个部分。

前文分析了Workload repository report for (负载信息库报告)、Report Summary(报告摘要)中的load profile和Instance Efficiency Percentages (Target 100%),接下来继续分析Top 10 Foreground Events by Total Wait Time、Wait Classes by Total Wait Time和Host CPU等等

关于Top 10 Foregrounds Events by Total Wait Time-按总等待时间列出的前十大事件

864da5c7d4081f914584844553d61a27.png

排序整理过以后的十大事件,红色部分为重点关注内容。

2ffc7c6af789dcfd7c53f2292fd0a540.png

个人感觉值得关注的包括direct path read,db file sequential read,db file scattered read,library cache lock和log file sync。

direct path read 顾名思义直接路径读取,也就是全表扫描,等待最多,总时间也最多。

造成direct path read 的主要原因主要包括:

  1、大量的磁盘排序操作,无法在排序区中完成排序,需要利用temp表空间进行排序.

  2、大量的Hash Join操作,利用temp表空间保存hash区。

  3、SQL语句的并行处理

  4、大表的全表扫描,11g认为大表全表时使用直接路径读

db file sequential read的意思是,物理读发生在一个用户需要的数据块不在SGA,从而将其从磁盘读取到SGA中,其实和direct path read有点像。

db file sequential read一般发生在以下情况:

  1、索引扫描

  2、表扫描(access by rowid

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值