暂无图片
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


请输入正文
提交
相关推荐
Oracle在缓冲区缓存中如何管理块?
回答 1
已采纳
Oracl缓冲区缓存中的块实质上在一个区域上管理,但有两个不同的列表指向这些块。脏(dirty)块列表,其中的块需要由数据库块写入器(DBWn)写入磁盘。非脏(nodirty)块列表。在Oracle8
麻烦请教各位一下,11g 数据库更改sga大小问题
回答 2
sgatarget要指定值,如果为0就是自动内存段管理
我想系统的学习下oracle,啥路线好些
回答 2
已采纳
看这里Oracle入门到精通https://www.modb.pro/path/323
Oracle 单实例ASM机器被克隆后,克隆后的机器如何修改才能启动
回答 1
主机名尽量不修改,只修改IP地址就可以了,监听调整一下IP确认可以动态注册就可以提供对外的访问
Oracle delete大量数据(100w左右)后,库卡死,怎么处理?
回答 2
kill掉进程,并kill使用删除表的查询,delete大量数据后表的统计信息会过期,会导致执行计划改变,无法返回结果;另外,delete会产生大量的归档日志,看空间是否满了,大表建议重定义为分区表进
oracle 创建DBLink 的时候测试连接报如下错误,要什么查找问题?
回答 1
USING后用这种简单的IP:1521/SID方式可以么?我以前创建是用这种:using'(DESCRIPTION(ADDRESSLIST(ADDRESS(PROTOCOLTCP)(HOSTipadd
AWR分析报告问题求助:Oracle19c rac 内存紧张,报错 error=41010,未找到可优化方向,烦请专家提示,谢谢!
回答 2
根据提供的AWR报告来看,系统整体的负载不大,主要问题集中在SQL上,所以才出现行锁,回表,全表扫等问题,和开发沟通优化topSQL.其他问题等待大佬解答。
oracle :怎么在有限的temp空间容量环境完成在一张大表(1T)的非分区表上创建主键索引?
回答 1
首先创建索引是往表里插入数据动作,其中索引自动维护包含自动排序,这些动作都是在内存中完成,并不会占用太多临时表空间。因为表很大,索引相对也不小。这个时候可以预先分配好合适的表空间(建议独立的索引表空间
AWR分析报告问题求助:请问这个awr的解析代码可以提供下吗
回答 3
感谢,这个生成的分析报告的html的文件可以提供下吗
Oracle数据库迁移问题
回答 5
已采纳
1、10g可以使用expdp吗 可以。我做过10gwindows到11glinux的。可以2、除了调整temp和undo表空间的大小,以及调整undoretention,还需要注意什么吗?字
问题信息
请登录之后查看
附件列表
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~