暂无图片
AWR报告中,read by other session ,如何解决?
我来答
分享
用户5935
2020-05-25
AWR报告中,read by other session ,如何解决?
暂无图片 5M

oracle 11.2.0.4 rac环境,业务主要连接在节点1。
redhat linux 6.5操作系统。2C12core 64G
1、最近业务人员反应应用系统慢,点击按钮半天无反应
2、收集awr及ash信息如附件
3、查看osw日志确实发现data磁盘在高峰期处于busy状态。但是await延迟较低。

麻烦各位专家给出些意见?是否是硬件资源性能不足导致的?还是sql编写的问题?

我来答
添加附件
收藏
分享
问题补充
14条回答
默认
最新
用户5935
暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935
上传附件:ash_db21.0522.html
暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935

OSWg_sdg_OS_IO_PB.gif

暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935
暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935
暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935
暂无图片 评论
暂无图片 有用 0
打赏 0
文成

大量动态采用sql占用io比较多
可以试试关闭动态采样功能
Enabling and Disabling Automatic Optimizer Statistics Collection

暂无图片 评论
暂无图片 有用 0
打赏 0
文成

ASSP_CLOB_VOUCHER_STAMP_2020 表的 id列有没有索引?

暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935

Enabling and Disabling Automatic Optimizer Statistics Collection 这是是晚上22点才开始执行的,应该不影响白天的业务

暂无图片 评论
暂无图片 有用 0
打赏 0
zouxiang

应该尝试确定SQL中执行大量缓冲区获取和执行计划的语句,这些SQL中含有read by other session等待对应扫描的对象,通常这种执行时间都蛮长的,还要综合db file scattered read、db file sequential read相关的等待SQL去排查。

暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935
升级问题到: 紧急故障
暂无图片 评论
暂无图片 有用 0
打赏 0
你好我是李白

你看你的top sql里全是动态采样的sql,默认10g以后optimizer_dynamic_sampling参数为level 2,一般为缺失统计信息会造成每次使用动态采样,虽然动态采样会在表频繁发生大批量改变时,一般可以生成更好的执行计划,但是也不往往是这样,所以看看 “ASSP2”."ASSP_CLOB_VOUCHER_STAMP_2020"表为什么相关SQL都走动态采样?

下面为该参数级别解释Mos(Doc ID 336267.1):
The parameter OPTIMIZER_DYNAMIC_SAMPLING controls the level of sampling performed by the optimizer.

In simplified form, the Levels have the following effects:

Level 0: Disables dynamic sampling.
Level 1: Sample all tables that have not been analyzed that meet certain criteria.
Level 2: Apply dynamic sampling to all unanalyzed tables. (Default from 10g)
Level 3: As per Level 2, plus all tables for which standard selectivity estimates used a guess for some predicate that is a potential dynamic sampling predicate.
Level 4: As per Level 3, plus all tables that have complex predicate expressions (for example single-table predicates that reference 2 or more columns or non-equality where clause predicates on two correlated columns).
Level 5-9: As per Level 4 with a larger sample size each time.
Level 10: Use dynamic sampling for all statements sampling All blocks

暂无图片 评论
暂无图片 有用 0
打赏 0
田弼元

根据等待事件把SQL抓出来,给优化了,才能根本上解决问题。

暂无图片 评论
暂无图片 有用 0
打赏 0
杨卓

1.数据库等待时间event占比最高是read by other session ,这个意思是一个会话a执行查询blocks,正在被另一个会话从磁盘读取到内存中,我的会话a只需要等待即可,到时候从内存中获取记录;
2.观察top sql SQL ordered by Reads
Captured SQL account for 100.2% of Total
基本上物理读都包含在top sql中,top sql占比最高的两条sql 6suqju7ut3vub,dbfmq27nhyn29 均为动态采样的SQL对象为"ASSP2".“ASSP_CLOB_VOUCHER_STAMP_2020”
image.png
这个对象检索可以发现有sql 执行这个对象相关的sql;
3.建议
3.1先确认这个表有没有合适的统计信息,是否是简单的由于表没有统计信息造成执行sql需要执行动态采样,手工收集下表的统计信息
3.2 采用之前同事的方法,检查参数是否修改optimizer_dynamic_sampling
3.3 采用之前同事的方法,禁用动态采样

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


请输入正文
提交
相关推荐
awr报告中显示dc_sequences Pct Miss: 19.93,我该怎么确定应该调大哪些sequence呢
回答 1
已采纳
可以通过DBAHISTACTIVESESSHISTORY查看事件为rowcacheobjects等待的sql也可以在awr中SQLStatistics中的topsql关注SQLorderedbyExe
删除的空间无法利用
回答 5
大表做回收表空间要慎重,若724小时系统,且数据量大,处理的时间会很长
Oracle导出表数据,如果想导出成insert的那种sql语句,一般怎么操作?
回答 3
有个比较简单的方法,先把数据select出来,再导出到excel里(点右键copytoexcel),然后在excel里有数据的第一行写公式,再往下一拖(点加号),所有的SQL都生成了,如图
请教一个有挑战性的问题,同一个SQL,完全不同的执行计划
回答 5
已采纳
dbmsstats能良好地估计统计数据(尤其是针对较大的分区表),并能获得更好的统计结果,最终制定出速度更快的SQL执行计划。analyze收集后统计信息不准确,收集统计信息时采样比例过小等等。Ora
oracle数据库11.2.0.4版本,已经打过181016的补丁,现在想打201020的补丁,要不要先回滚181016的补丁?
回答 1
在Oracle数据库中,不需要先回滚已经安装的补丁才能安装新的补丁。您可以直接在已经打过181016的版本上安装201020补丁。通常情况下,Oracle的每一个补丁都是独立的,不依赖于之前安装的补丁
oracle em13cc 顶级活动按钮
回答 1
EM13c:EnterpriseManager13cCloudControlTOPActivityReportIsNowInAshAnalytics(DocID2528627.1)已经集成在ASHAn
华为云裸金属 部署11g RAC,共享盘为一块独立的高性能磁盘,划分三个分区用于ASM(OCR/DATA/FRA),请问是否可行?
回答 1
为什么不弄3块盘呢?如果磁盘不够用的话,我觉得adg也是个不错的选择
添加主键的方式
回答 3
从实际效果来讲两者是一样的,但为了更好维护建议还是选择自定义名称这种方式
在复习ocp的过程中。有什么好资料么?
回答 1
已采纳
官方文档
Oracle能装在虚拟机里面吗?
回答 1
已采纳
安装可以。练习可以。但是不建议在正式环境使用。官方不管你安装在什么环境中。