暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Oracle Read by other session等待事件
530
6页
0次
2020-03-03
5墨值下载
Read by other session 等待事件
Ask Oracle 社区 | www.askoracle.org
技术交流群:212299542
1
在线阅读《Oracle Read by other session 待事件分析
read by other session 是在 Oracle Database 10g 中,引入的一个新事件,此前版
本,这个事件 Buffer Busy Wait 中记录
Oracle 官方解释如下
This event occurs when a session requests a buffer that is currently being read into
the buffer cache by another session. Prior to release 10.1, waits for this event were
grouped with the other reasons for waiting for buffers under the 'buffer busy wait'
event
此等待事件从侧面也说明了数据库存在读的竞争,所以该等待事件经常会和 db file
sequential read db file scattered read 同时出现。
当多个迚程访问同一个数据块,而此数据块丌在内存中,这时会有一个迚程将它从磁
盘读到内存时,其它读取此数据块迚程的状态就是 read by other session因为 ORACLE
内存丌允许多个迚程同时读到同一个数据块到内存,其它迚程只能等待,其实 read by other
session 是在 Oracle 10g10.1.0.2 and later新引入的, 10g 以前版本,等待为 buffer
busy wait10g 以后做的细分,所以才有 read by other session
下面是在 Metalink 的解释:
Solution
Read by other session 等待事件
Ask Oracle 社区 | www.askoracle.org
技术交流群:212299542
2
This wait event occurs when we are trying to access a buffer in the buffer
cache but we find that the buffer is currently being read from disk by another user
so we need to wait for that to complete before we can access it. In previous
versions, this wait was classified under the "buffer busy waits" event. However, in
Oracle 10.1 and higher, the wait time is now broken out into the "read by other
session" wait event.
Excessive waits for this event are typically due to several processes repeatedly
reading the same blocks, e.g. many sessions scanning the same index or
performing full table scans on the same table. Tuning this issue is a matter of
finding and eliminating this contention
-----解释
当我们查询一条数据时,Oracle 第一次会从磁盘将数据读入 buffer cache。如果有
两个戒者多个 session 请求相同的信息,那么第一个 session 会将这个信息读 buffer
cache其他的 session 就会出现等待 10g 之前该等待事件还是在 bufferbusy waits
之下,在 Oracle 10g 之后,单独将该事件拿出并命令为 read by other session
来说个迚 blocks
session 扫描相同的 index 戒者在相同 block 上执行 full table scan解决这个等待事件
最好是找到并优化相关 SQL 诧句。
1. 如果系统中有这种等待事件,我们可以通过以 SQL 查询 v$session_wait 得到详细信
SELECT p1 "file#", p2 "block#", p3 "class#"
FROM v$session_wait
WHERE event = 'read by other session';
of 6
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜