db file sequential read 系列事件的定位

1、查看数据库的等待事件:

         INST_ID EVENT                                                     Prev             Curr              Tot  SECONDS_IN_WAIT
---------------- --------------------------------------------- ---------------- ---------------- ---------------- ----------------
               1 db file sequential read                                      0                9                9                0
               1 jobq slave wait                                              0                3                3                0
               1 LNS ASYNC end of log                                         0                1                1                0
               1 SQL*Net message to client                                    1                0                1                0

2、查出等待事件发生所在的文件号和块号


11:44:46 sys@ORADB1>SELECT p1 "file#", p2 "block#", p3 "class#"      FROM v$session_wait WHERE event = 'db file sequential read';

           file#           block#           class#
---------------- ---------------- ----------------
              72           373068                1


3、找出等待事件发生所在的对象

11:47:21 sys@ORADB1>SELECT OWNER, SEGMENT_NAME, SEGMENT_TYPE, TABLESPACE_NAME, A.PARTITION_NAME  
11:47:41   2   FROM DBA_EXTENTS A  
11:47:41   3   WHERE FILE_ID = &FILE_ID  
11:47:41   4   AND &BLOCK_ID BETWEEN BLOCK_ID AND BLOCK_ID + BLOCKS + 1;  
Enter value for file_id: 72
old   3:  WHERE FILE_ID = &FILE_ID
new   3:  WHERE FILE_ID = 72
Enter value for block_id: 373068
old   4:  AND &BLOCK_ID BETWEEN BLOCK_ID AND BLOCK_ID + BLOCKS + 1
new   4:  AND 373068 BETWEEN BLOCK_ID AND BLOCK_ID + BLOCKS + 1

OWNER                          SEGMENT_NAME                   SEGMENT_TYPE       TABLESPACE_NAME
------------------------------ ------------------------------ ------------------ ------------------------------
PARTITION_NAME
------------------------------
HTGPRS                         IDX_NTS_BAGGING_CREATETIME     INDEX              GPRS_IDX



4、找出造成等待事件的sql语句

select * from v$sql where upper(sql_text) like '%IDX_NTS_BAGGING_CREATETIME%';  


5、找出sql对应的会话

select SID, SERIAL# from v$session where sql_id='&sql_id';


6、必要时可以kill会话




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huangliang0703

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值