read by other session事件

发布时间:2020-07-26 22:52:36 作者:jsj_007
来源:网络 阅读:289

该事件发生在将相同数据块载入到内存的过程中,多个会话同时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)

推荐阅读:
  1. Oracle 等待事件之 db file scattered read
  2. Oracle direct path read相关隐含参数

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

read by other

上一篇:清理日志的shell

下一篇:c++之趣味new代码大家看

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》