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

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






   

你可能感兴趣的:(db file sequential read等待事件的一点研究)