【TUNE_ORACLE】等待事件之IO等待“db file parallel write”
定義
此等待顯示在database writer中。當等待對檔案和塊的並行寫入完成時,DBW等待“ db file parallel write” 。等待將一直持續到所有IO提交完成為止。但需要注意, 該等待事件和並行操作,如並行查詢和並行DML,沒有任何關係。並且該事件發生在資料庫恢復的時候,當有一些資料塊需要恢復時,Oracle會以並行的方式將它們從資料檔案中讀入到記憶體中,來進行資料恢復。當Oracle從多個資料檔案中並行的物理讀取多個塊到記憶體的不連續緩衝中,如buffer cache或PGA,也可能發生該等待事件。
對於自身範圍內產生的等待
1. 檢視動態效能檢視V$SESSION_WAIT涉及到的“db file parallel write”引數
P1 = files
P2 = blocks
P3 = requests / timeout
注:
files:表示Oracle正在寫入的檔案數
blocks:表示要寫入的總塊數
requests / timeout:從Oracle9.2開始的欄位P3,是以秒為單位顯示等待IO完成的超時值;在Oracle9.2之前,這表示I/O請求的總數,與欄位P2相同
另外:從9.2.0.5到10.2,定義已更改:
P1 = requests --這表示I/O請求的總數與塊相同
P2 = interrupt
P3 = timeout --這表示等待IO完成的超時值(以釐秒為單位)
2. 等待時間
等待將一直持續到所有提交的IO請求都完成為止。在Oracle9.2之前的等待中沒有Oracle timeout。從9.2開始, timeout由欄位P3顯示。
對於系統範圍內產生的等待
如果這個佔了總等待時間的大頭,不一定會對使用者會話產生很大影響。如果使用者會話在“write complete waits”和“free buffer waits”中的兩者或其中一個顯示出大量等待時間,則這會影響使用者會話。對IO子系統的影響可能不太明顯,因為寫入操作可能會影響從同一磁碟讀取的會話的讀取時間。
可以檢查以下幾個地方:
1. 檢視發生寫入的位置(但是V$SYSTEM_EVENT裡的寫入時間一般是錯誤的)
2. 利用作業系統IO子系統監視工具來檢視寫入效能
3. 檢視目標恢復時間是否導致從快取寫入過多的塊
減少等待和等待時間的方法
1. 如果這個等待事件佔比很大,可以使用優化“db file sequential read”的方法,連結: http://blog.itpub.net/69992972/viewspace-2770523/
2. 由於11g新增的prefetch特性導致該等待事件,可以設定如下三個隱藏引數:
alter system set “_db_file_noncontig_mblock_read_count”= 0 scope=spfile sid=‘*’; alter system set “_db_block_prefetch_quota”= 0 scope=spfile sid=‘*’; alter system set “_db_block_prefetch_limit”= 0 scope=spfile sid=‘*’;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2770571/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【TUNE_ORACLE】等待事件之日誌等待“log file parallel write”Oracle事件Parallel
- 【TUNE_ORACLE】等待事件之IO等待“db file scattered read”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“db file sequential read”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“direct path write”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“direct path write temp”Oracle事件
- 0316理解db file parallel read等待事件Parallel事件
- 0322理解db file parallel read等待事件2Parallel事件
- 【TUNE_ORACLE】等待事件之IO等待“read by other session”Oracle事件Session
- 【TUNE_ORACLE】等待事件之IO等待“direct path read”Oracle事件
- [20210315]理解db file parallel read等待事件3.txtParallel事件
- [20210315]理解db file parallel read等待事件4.txtParallel事件
- I/O上的等待事件 —— control file sequential read/control file parallel write事件Parallel
- db file scattered read等待事件事件
- db file sequential read等待事件事件
- 【等待事件】db file sequential read事件
- 【等待事件】db file scattered read事件
- 【TUNE_ORACLE】等待事件之日誌等待“log file sync”Oracle事件
- 【TUNE_ORACLE】等待事件之等待事件類別Oracle事件
- 【TUNE_ORACLE】等待事件之“library cache lock”Oracle事件
- 【TUNE_ORACLE】等待事件之“buffer busy waits”Oracle事件AI
- 【TUNE_ORACLE】等待事件之“library cache pins”Oracle事件
- 等待事件db file sequential read、db file scattered read和direct read的區別事件
- log file sync等待事件事件
- 【等待事件】log file sync事件
- 【WAIT】 log file sync等待事件說明AI事件
- log file sync等待事件處理思路事件
- [20201204]關於等待事件Log File Sync.txt事件
- Solidity事件,等待事件Solid事件
- 等待事件wait for a undo record 與 fast_start_parallel_rollback引數事件AIASTParallel
- Oracle等待事件之enq: TM – contentionOracle事件ENQ
- oracle等待事件之enq: CF – contentionOracle事件ENQ
- Selenium等待事件Waits事件AI
- DB BUFFER LRU 列表的latch等待
- oracle等待事件之cursor:pin S wait on XOracle事件AI
- read by other session等待事件Session事件
- ORACLE 常見等待事件Oracle事件
- latch等待事件彙總事件
- Latch free等待事件(轉)事件