db file sequential read等待事件的一点研究

时间:2022-07-15 21:36:14
db file sequential read等待事件有3个参数:file#,first block#,和block数量。
这个等待事件有3个参数P1,P2,P3, 其中P1代表Oracle要读取的文件的绝对文件号, P2代表Oracle从这个文件中开始读取的起始数据块号, P3代表读取的BLOCK数量,通常这个值为1,表明是道单个BLOCK被读取。 SQL> select SESSION_ID,NAME,P1,P2,P3,WAIT_TIME,CURRENT_OBJ#,CURRENT_FILE#,CURRENT_BLOCK#
from v$active_session_history ash, v$event_name enm
where ash.event#=enm.event#
and SESSION_ID=39; 2 3 4 SESSION_ID NAME P1 P2 P3 WAIT_TIME CURRENT_OBJ# CURRENT_FILE# CURRENT_BLOCK#
---------- ------------------------------ ---------- ---------- ---------- ---------- ------------ ------------- --------------
39 db file sequential read 4 531505 1 0 77088 4 531505
39 db file sequential read 4 528344 1 0 77088 4 528344
39 db file sequential read 4 520464 1 0 77088 4 520464
39 db file sequential read 4 517219 1 0 77088 4 517219
39 db file sequential read 4 502844 1 0 77088 4 502844
39 db file sequential read 4 489070 1 0 77088 4 489070
39 db file sequential read 4 480568 1 0 77088 4 480568
39 db file sequential read 4 478611 1 0 77088 4 478611
39 db file sequential read 4 473972 1 0 77088 4 473972
39 db file sequential read 4 473407 1 0 77088 4 473407
39 db file sequential read 4 458534 1 0 77088 4 458534 SESSION_ID NAME P1 P2 P3 WAIT_TIME CURRENT_OBJ# CURRENT_FILE# CURRENT_BLOCK#
---------- ------------------------------ ---------- ---------- ---------- ---------- ------------ ------------- --------------
39 db file sequential read 4 458186 1 0 77088 4 458186
39 db file sequential read 4 457625 1 0 77088 4 457625
39 db file sequential read 4 457150 1 0 77088 4 457150
39 db file sequential read 4 452548 1 0 77088 4 452548
39 direct path read 4 440464 8 0 78043 4 440424
39 direct path read 4 430640 8 0 78043 4 430632
39 direct path read 4 425312 8 0 78043 4 425304
39 direct path read 4 421408 8 0 78043 4 421400
39 direct path read 4 416384 8 0 78043 4 416376
39 direct path read 4 410928 8 0 78043 4 410920
39 direct path read 4 406240 8 0 78043 4 406232 SESSION_ID NAME P1 P2 P3 WAIT_TIME CURRENT_OBJ# CURRENT_FILE# CURRENT_BLOCK#
---------- ------------------------------ ---------- ---------- ---------- ---------- ------------ ------------- --------------
39 direct path read 4 404944 8 0 78043 4 404936
39 direct path read 4 399648 8 0 78043 4 399640
39 direct path read 4 394544 8 0 78043 4 394536
39 direct path read 4 389344 8 0 78043 4 389336
39 direct path read 4 383936 8 0 78043 4 383928
39 direct path read 4 379280 8 0 78043 4 379272
39 direct path read 4 374288 8 0 78043 4 374280
39 direct path read 4 369504 8 0 78043 4 369496
39 direct path read 4 364144 8 0 78043 4 364136
39 direct path read 4 359120 8 0 78043 4 359112
39 direct path read 4 354192 8 0 78043 4 354184 SESSION_ID NAME P1 P2 P3 WAIT_TIME CURRENT_OBJ# CURRENT_FILE# CURRENT_BLOCK#
---------- ------------------------------ ---------- ---------- ---------- ---------- ------------ ------------- --------------
39 direct path read 4 350192 8 0 78043 4 350184
39 direct path read 4 346832 8 0 78043 4 346824
39 direct path read 4 341936 8 0 78043 4 341928
39 direct path read 4 337088 8 0 78043 4 337080
39 direct path read 4 331632 8 0 78043 4 331624
39 direct path read 4 327056 8 0 78043 4 327048
39 direct path read 4 321984 8 0 78043 4 321976
39 direct path read 4 316784 8 0 78043 4 316776
39 direct path read 4 311680 8 0 78043 4 311672
39 direct path read 4 306448 8 0 78043 4 306440
39 direct path read 4 301200 8 0 78043 4 301192 SESSION_ID NAME P1 P2 P3 WAIT_TIME CURRENT_OBJ# CURRENT_FILE# CURRENT_BLOCK#
---------- ------------------------------ ---------- ---------- ---------- ---------- ------------ ------------- --------------
39 direct path read 4 295688 8 0 78043 4 295680
39 direct path read 4 290600 8 0 78043 4 290592
39 direct path read 4 286744 8 0 78043 4 286736
39 direct path read 4 281464 8 0 78043 4 281456
39 direct path read 4 276136 8 0 78043 4 276128
39 direct path read 4 271064 8 0 78043 4 271056
39 direct path read 4 266136 8 0 78043 4 266128
39 direct path read 4 261160 8 0 78043 4 261152
39 direct path read 4 256200 8 0 78043 4 256192
39 direct path read 4 255000 8 0 78043 4 254992
39 direct path read 4 254824 8 0 78043 4 254816 发现很多都是 db file sequential read等待事件 SQL> select owner,object_name,object_type from dba_objects where object_id=77088; OWNER OBJECT_NAM OBJECT_TYPE
---------- ---------- -------------------
SCOTT T1 TABLE BLOCK_ID: extent的起始块 BLOCKS:extent块的数量 SQL> select owner,segment_name,segment_type from dba_extents
where file_id = 4 and 531505 between block_id and block_id+blocks-1; 2 OWNER SEGMENT_NA SEGMENT_TYPE
---------- ---------- ------------------
SCOTT T1 TABLE 这里是回表造成的单块读 模拟下索引上的单块读,模拟index full scan SQL_ID 0r8t4zj3urrnp, child number 0
-------------------------------------
select id from t1 where t1.id is not null order by id Plan hash value: 2463307338 ----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 42364 (100)| |
|* 1 | INDEX FULL SCAN | ID_IDX1 | 20M| 248M| 42364 (1)| 00:08:29 |
---------------------------------------------------------------------------- Predicate Information (identified by operation id):
--------------------------------------------------- 1 - filter("T1"."ID" IS NOT NULL) Note
-----
- dynamic sampling used for this statement (level=2) SQL> col name format a30
SQL> select SESSION_ID,NAME,P1,P2,P3,WAIT_TIME,CURRENT_OBJ#,CURRENT_FILE#,CURRENT_BLOCK#
from v$active_session_history ash, v$event_name enm
where ash.event#=enm.event#
and SESSION_ID=24; 2 3 4 SESSION_ID NAME P1 P2 P3 WAIT_TIME CURRENT_OBJ# CURRENT_FILE# CURRENT_BLOCK#
---------- ------------------------------ ---------- ---------- ---------- ---------- ------------ ------------- --------------
24 db file sequential read 4 589800 1 0 78139 4 589800
24 db file sequential read 4 483506 1 0 77088 4 483506
24 db file sequential read 4 447172 1 0 77088 4 447172
24 db file sequential read 4 469775 1 0 77088 4 469775
24 db file sequential read 4 458597 1 0 77088 4 458597
24 db file scattered read 4 446041 7 0 77088 4 446044
24 db file scattered read 4 525865 8 0 77088 4 8714
24 db file sequential read 4 8714 1 0 -1 4 8714
24 db file sequential read 1 64155 1 0 40 1 64155
24 db file sequential read 1 11540 1 0 40 1 11540
24 db file sequential read 1 19442 1 0 62 1 19442 SESSION_ID NAME P1 P2 P3 WAIT_TIME CURRENT_OBJ# CURRENT_FILE# CURRENT_BLOCK#
---------- ------------------------------ ---------- ---------- ---------- ---------- ------------ ------------- --------------
24 db file scattered read 1 46040 8 0 68 1 46040
24 db file sequential read 1 172 1 0 -1 0 0
24 db file sequential read 1 21910 1 0 -1 0 0
24 db file scattered read 1 83984 8 0 -1 0 0
24 db file sequential read 1 64354 1 0 -1 0 0
24 db file sequential read 1 64335 1 0 -1 0 0
24 db file scattered read 1 70152 3 0 -1 0 0
24 db file scattered read 1 55196 5 0 -1 0 0
24 db file scattered read 1 5376 8 0 -1 0 0
24 db file sequential read 1 2867 1 0 -1 0 0 21 rows selected. select owner,segment_name,segment_type from dba_extents
where file_id = 4 and 589800 between block_id and block_id+blocks-1; SQL> 2 OWNER SEGMENT_NAME SEGMENT_TYPE
------------------------------ --------------------------------------------------------------------------------- ------------------
SCOTT ID_IDX1 INDEX