频道栏目
首页 > 资讯 > 其他综合 > 正文

readbyothersession事件解析

19-01-26        来源:[db:作者]  
收藏   我要投稿

该事件发生在将相同数据块载入到内存的过程中,多个会话同时select相同的数据块引起buffer lock争用。在 oracle 9i中相当于"buffer busy waits" ,在Oracle 10.1及更高版本中,该事件被被分解为“read by other session”等待事件。

select c.PARAMETER1,c.PARAMETER2,c.PARAMETER3 from v$event_name c where c.name='read by other session';

PARAMETER1 PARAMETER2 PARAMETER3

----------- ----------- ----------

file# block# class#

参数:

P1 = file# Absolute File# (AFN)

P2 = block#

P3 = class# Block class

file# 绝对文件编号(AFN)包含等待会话所需块的数据文件的文件号。

block#等待会话要访问的上述文件的块号。

class#等待的块类:

class 1表示“数据块”,可以是表或索引

class 4类表示“段头”

class >=15表示“撤消块”

查找blocker:

SELECT SID mySID, blocking_session,

p1 "FILE#", p2 "BLOCK#", p3 "class#", row_wait_obj# OBJECT_ID

FROM v$session

WHERE event = 'read by other session'

AND STATE='WAITING'

;

查找对象:

SELECT relative_fno, owner, segment_name, segment_type

FROM dba_extents

WHERE file_id = &FILE

AND &BLOCK BETWEEN block_id AND block_id + blocks - 1

;

减少该等待事件:

1.优化sql,减少数据块读入

2.增加sga大小

mos:WAITEVENT: "read by other session" Reference Note (文档 ID 732891.1)


相关TAG标签
上一篇:redis创建sentinel参考
下一篇:详解MySQL读写分离
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站