暂无图片
AWR分析报告问题求助:老师你好,请帮忙分析下AWR报告,谢谢。
我来答
分享
祥伟
2024-03-19
AWR分析报告问题求助:老师你好,请帮忙分析下AWR报告,谢谢。
暂无图片 20M
我来答
添加附件
收藏
分享
问题补充
8条回答
默认
最新
周伟

1. 头部的DBtime/Elapsed Time 比值大约为230,这个就是平均活动会话,说明CPU负载较高,后面的load profile 里面 CPU每秒时间为49,超过了cores 32也可以说明,另外前面的session数超过1400+,也可以排查一下正不正常。

2. 另外,load profile 中 CPU 时间远远低于DBtime,说明IO或者其它非空闲类等待比较高(一般IO的原因比较多)。

3. Top 10 里面 cursor: pin S wait on X ,latch: shared pool和 library cache: mutex X 这个等待比较高,内存争用较大,一般是SQL过多解析造成,尤其是硬解析,检查一下后面的高版本SQL,前面load profile 里面每秒的SQL解析数量超过了400次(硬解析每秒27次)也可略作说明,再后面Time Model statistics里面也可以看到软解析和硬解析对DB time的占比比较高。

4. log file sync 这个等待比较高,建议优化(我的经验通常就是换快盘或者适当增加redo size等)。

5. latch: row cache objects 这个排在了首位,通过ASH查询一下看看这个事件当时的SQL能否找到,优化一下。

以上这些,在不考虑修改数据库各种眼花缭乱的参数情况下,大多与SQL性能不佳有关,redo这个的话,能上快盘就尽量快盘吧。

6. 内存上,服务器256G,目前PGA+SGA还占不到45%,一般是70%我觉得比较合适,当然只是我的经验哈,建议SGA再调大一点儿,PGA可以增加到16或者32。可以看到cache size 部分,share pool end值比begin大,也说明share pool不够,也需要调大SGA。

7. Share Pool Statistics 中 % SQL with executions>1 较低,说明SQL重用度较低,多和没有采用绑定变量的SQL较多有关,可以用force_matching_signature这个特性去抓一下相似的SQL,看看是否可以绑定变量改造。

以上就是我粗略的一些看法,一般AWR到了我手里,我个人经验比较关注的就是SQL统计部分,哪个SQL最爱冒头就按死哪个,多调优几个SQL后,数据库的整体性能可能就会有很大的改善。我个人不怎么喜欢动不动就去碰数据库的各种参数啥的(SGA/PGA除外,因为这个比较明显而且影响巨大),尤其是隐含参数,调优尽量以优化SQL为主吧。

暂无图片 评论
暂无图片 有用 2
打赏 1
周伟
答主
2024-03-20
Host CPU 里面,%user+%system 都快90%了,估计已经卡顿比较明显了,整个AWR看起来,IO类的问题似乎不是非常严重,因为top10里面IO类等待排最后,后面的IO stats里面也没见到多少高延迟的数据,唯一就是undo需要关注一下,看看是否有大DML语句,分个批啥的,整体上我觉得主要还是SQL性能上面的问题比较多。
祥伟
题主
2024-03-20
周老师感谢你的指导,平时1400的session是正常情况,当天异常情况是快速激增至2500,然后逐渐恢复。通过ASH看到两条查询,建议用户优化,用户反馈以前没问题,今天有问题,具体的引起或触发这个问题的根源是什么,请帮忙看看,谢谢
祥伟
上传附件:ashrpt_1_0312_1015.html
暂无图片 评论
暂无图片 有用 0
打赏 0
祥伟
上传附件:ashrpt_1_0312_1030.html
暂无图片 评论
暂无图片 有用 0
打赏 0
祥伟
上传附件:ashrpt_1_0312_1045.html
暂无图片 评论
暂无图片 有用 0
打赏 0
周伟

我大致看了下几个ASH报告,ASH我一般使用的话,就是根据 Top SQL with Top Events 这一节,抓取相关的SQL语句,然后查看它的执行计划,看看有没有什么可以调优的,实际上ASH报告最大的用处就是这个了。

引起SQL性能的变化原因很多,看看数据库有没有历史的基线做比对,没有的话,你就直接看他们的执行计划是什么情况,然后针对性调优就行,我个人经验的话,觉得实际上没有太大的必要去纠结“以前都正常但是现在就不正常”这类问题,因为很少能真正查出具体的原因的,出了问题你就看执行计划情况,见招拆招就行。

比如这几个ASH里面都提到这个SQL ‘277kx3y6px37s', 这个SQL 单次执行需要92秒,一个小时跑了900多次,应该是多会话去调用它的,看看它的执行计划是什么。

另外AWR报告里面还有个SQL bunvx480ynf57,这个SQL 就是个简但的 select 1 from dual ,不知道是干啥的,但是它一个小时内跑了18W次,这是个很大的解析负担,不必要的话都可以取消掉。

AWR里面,你首先就重点针对那些执行次数非常高,单次执行时间比较长的SQL,只要能把它们打掉,效果就会很明显了。

暂无图片 评论
暂无图片 有用 1
打赏 0
广州_老虎刘

故障现象看上去像是解析过多导致的, 系统首先需要解决的是解析的问题. 其次SQL性能差也是长期存在的问题, 两个都是慢性病,都是需要解决的问题.

暂无图片 评论
暂无图片 有用 1
打赏 0
手机用户8432

1.增加sql缓存

2.优化sql

暂无图片 评论
暂无图片 有用 0
打赏 0
手机用户8808

1.增加sql缓存

2.优化sql

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle 19c的自适应游标共享特性,有改进吗?
回答 1
依旧建议关闭
各位大佬 CPU iowait time 偶尔大于20% 数据库都动不了 axi 10G rac 有什么排查思路吗
回答 2
通过awr报告来看系统概括。当然首先检查硬件故障。检查osmessage信息。
归档量计算
回答 4
selectmax(firsttime)maxfirsttime,tochar(firsttime,&39;yyyymmdd&39;)day,count(recid)countnumber,count
sqnet
回答 1
可能是系统参数原因:echo/proc/sys/net/ipv4/tcpkeepalive|xargs  n1 strings1f/proc/sys/net/ipv4/t
请教各位大佬,oracle11.2.04如何收缩表空间呢?
回答 1
在线收缩有高水位的表,其占用的高水位会降低,表空间就会被释放。altertableXXXshrinkspace;收缩表需要重建其索引或直接收缩表空间:altertablespacetempshrink
Oracle EBS 可以自己修改某一个页面,增加一些内容么?
回答 1
可以
求Swingbench的测试文档
回答 1
已采纳
http://www.dominicgiles.com/blog/blog.html
Oracle LOBSEGMENT如何清理?现在占了SYSTEM表空间15G的空间
回答 1
可以查syslog$$对应的具体表,然后再根据业务需求调整SELECTB.TABLENAME,B.COLUMNNAME,A.SEGMENTNAME,a.SEGMENTTYPE,ROUND(SUM(A.
oracle11g Too many open files in system。 lsof看了下 都是在打开/dev/shm这个路径下的文件。基本上每个oracle外部进程打开了270个文件 为什么每个进程会打开这么多文件的?
回答 1
查看配置查看每个用户最大允许打开文件数量ulimita/etc/security/limits.conf确认核心参数特别是fs.filemax
dblink故障
回答 4
通过查看awr,发现dblink虽然排在topevent,但是如下索引对象激烈的热块竞争/itl/rowlock,似乎这个对象相关的sql跟逻辑需要重点关注一下::RFINDXUNIIOLOGINDE