zoukankan      html  css  js  c++  java
  • 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
    
    
    


    
    
    
                                        
    
  • 相关阅读:
    .NET的堆和栈01,基本概念、值类型内存分配
    C#中List<T>是怎么存放元素的
    MVC为用户创建专属文件夹
    c#中何时使用Empty()和DefalutIfEmpty()
    MVC中使用AngularJS-01,基本
    MVC使用Dotnet.HighCharts做图表01,区域图表
    MVC使用Gantt Chart实现甘特图,管理事情进度
    Knockout官网实例在MVC下的实现-02,实现计次
    MVC实现多选下拉框,保存并显示多选项
    Knockout官网实例在MVC下的实现-01,实现Hello world
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13352377.html
Copyright © 2011-2022 走看看