自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關于Oracle數據庫Kfk: Async Disk IO等待事件深度解析

數據庫 Oracle
一大早運維團隊就來找事,說系統(tǒng)又有點卡了,然后發(fā)現了一個比較少見的等待事件--kfk: async disk IO,趁著這次排查的過程也簡單說下這個等待事件吧!

 概述

一大早運維團隊就來找事,說系統(tǒng)又有點卡了,然后發(fā)現了一個比較少見的等待事件--kfk: async disk IO,趁著這次排查的過程也簡單說下這個等待事件吧!

[[275243]]

1、查看TOP N等待事件

  1. SELECT inst_id,EVENT, SUM(DECODE(WAIT_TIME, 0, 0, 1)) "Prev"SUM(DECODE(WAIT_TIME, 0, 1, 0)) "Curr"COUNT(*) "Tot" ,  
  2. sum(SECONDS_IN_WAIT) SECONDS_IN_WAIT 
  3. FROM GV$SESSION_WAIT 
  4. WHERE event NOT 
  5. IN ('smon timer','pmon timer','rdbms ipc message','SQL*Net message from client','gcs remote message'
  6. AND event NOT LIKE '%idle%' 
  7. AND event NOT LIKE '%Idle%' 
  8. AND event NOT LIKE '%Streams AQ%' 
  9. GROUP BY inst_id,EVENT 
  10. ORDER BY 1,5 desc
  11. --class slave wait 

 

 

關于Oracle數據庫kfk: async disk IO等待事件深度解析

 

 

可以發(fā)現排在前面的是kfk: async disk IO等待事件。

2、根據等待事件查會話

  1. SELECT /*+rule */ sid, s.serial#, spid, event, sql_id, seconds_in_wait ws, row_wait_obj# obj, 
  2. s.username, s.machine, BLOCKING_INSTANCE||'.'||blocking_session b_sess  
  3. FROM v$session s, v$process p  
  4. WHERE event='&event_name' AND s.paddr = p.addr order by 6; 

 

關于Oracle數據庫kfk: async disk IO等待事件深度解析

 

3、查詢某個會話詳情

  1. SELECT /*+rule */ sid, s.serial#, spid, event, sql_id, seconds_in_wait ws, row_wait_obj# obj, 
  2. s.username, s.machine, BLOCKING_INSTANCE||'.'||blocking_session b_sess  
  3. FROM v$session s, v$process p  
  4. WHERE event='&event_name' AND s.paddr = p.addr order by 6; 

顯示在備份..

 

關于Oracle數據庫kfk: async disk IO等待事件深度解析

 

 

關于Oracle數據庫kfk: async disk IO等待事件深度解析

 

4、檢查服務器是否在備份?

查看備份日志發(fā)現確實是正在做0級全備。

 

關于Oracle數據庫kfk: async disk IO等待事件深度解析

 

5、查看kfk: async disk IO

  1. select name,parameter1,parameter2,parameter3,wait_class from v$event_name where name='kfk: async disk IO'

 

關于Oracle數據庫kfk: async disk IO等待事件深度解析

 

6、關于kfk: async disk IO

kfk: async disk IO等待事件是ASM下異步的System I/O等待事件,kfk內核層面在disk_asynch_io=true時被激活。當rbal或其他ASM相關后臺進程在維護ASM磁盤組時可能進入kfk: async disk IO等待。

先確定一點,kfk: async disk IO是11G后ASM下直接路徑操作和ASM維護操作時會遇到的一個等待事件。

先來看大牛的描述吧:

 

關于Oracle數據庫kfk: async disk IO等待事件深度解析

 

異步IO的兩個函數:io_submit和io_getevents,Oracle是先調用io_submit發(fā)起異步IO,然后調用io_getevents查看IO狀態(tài)。

從圖中可以看到,這位大牛認為,io_submit階段,等待是kfk: async disk IO, 從io_getevents到IO完成,是direct path read。

再來看看緊接著的下幅圖:

 

關于Oracle數據庫kfk: async disk IO等待事件深度解析

 

在這幅圖中,這位大師打開10046,并同時用Truss、Strace類的工具跟蹤進程的執(zhí)行,跟蹤結果中,先有io_submit調用,馬上就是向10046跟蹤文件中寫kfk: async disk IO等待。在io_getevents調用后,又緊接著是向10046跟蹤文件中寫direct path read等待事件。據此,此大師得出結論,io_submit期間,等待事件是kfk: async disk IO,io_getevents則對應direct path read。

但實際情況kfk: async disk IO并不如此簡單,因為如果是io_submit對應kfk: async disk IO,io_getevents對應direct path read。我們都知道,間路徑IO,db file scattered read等待事件時,異步IO的完成,也是先io_submit發(fā)出IO,再在后面使用io_getevents查看IO狀態(tài)。和直接路徑一樣的,為什么間接路徑時,只有db file scattered read等待事件,并不伴隨有kfk: async disk IO等待事件呢。

顯然,是直接路徑和間接路徑的區(qū)別,產生了kfk: async disk IO等待。他們的區(qū)別在哪里呢,看下面這幅圖

 

關于Oracle數據庫kfk: async disk IO等待事件深度解析

 

這幅圖是直接路徑下的情況,由DTrace跟蹤得到,比Truss、Strace結果更豐富、準確。

Oracle在發(fā)出異步IO指令后,會去做一些其他的事情,并不等待IO完成。異步IO嗎,并不需要發(fā)出IO指令后,就一直等著IO完成。

在進行了一些操作后,Oracle調用函數,以0秒的超時查看IO的完成狀態(tài)。

0秒的超時,就是不會有任何停留,僅僅調用函數查看IO狀態(tài),如IO已完成,則進入IO完成流程。

如IO沒有完成,會再進行一些其他操作,然后再次調用函數,以600秒超時,查看IO狀態(tài)。也就是停留最多600秒,等待IO完成。如果IO完成,進入IO完成流程。

再來看等待事件,從發(fā)出IO指令,到0秒超時,等待事件是kfk: async disk IO。如果0秒超時IO沒有完成,其后直到IO完成的等待事件是direct path read。

間接路徑時,所有IO,都是600秒超時,沒有0秒超時這一塊,所以,間接路徑只有db file scattered read等待,而沒有kfk: async disk IO等待。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2019-12-03 09:00:59

Oracle數據庫等待事件

2015-10-28 14:45:35

ORACLE AIO異步IO

2015-10-28 17:39:04

ORACLE AIO異步IO

2011-09-01 23:04:03

OracleKFOD查看disk

2017-10-18 19:12:24

數據庫Oracle安全管理

2011-08-23 15:16:54

OracleMySQL

2010-04-06 11:30:09

Oracle 數據庫

2019-08-28 07:11:00

Oracle數據庫LOB

2011-06-21 15:48:41

2011-06-21 15:58:20

Qt 數據庫

2009-09-09 11:27:30

Oracle數據庫服務

2021-05-13 14:34:34

數據庫PolarDB

2021-05-07 09:25:34

數據庫工具技術

2010-04-01 17:06:57

Oracle數據庫

2009-02-03 09:04:51

Oracle數據庫Oracle安全策略Oracle備份

2011-05-26 09:08:31

Oracle數據庫

2019-10-18 09:36:17

Oracle數據庫硬解析

2011-08-11 17:00:33

iPhone數據庫SQLite

2010-04-16 12:29:13

Oracle數據庫遠程

2011-08-05 13:17:34

Oracle數據庫閃回個性
點贊
收藏

51CTO技術棧公眾號