Waiting Too Frequently for 'db file sequential read'
昨天有篇“db file sequential read”的介紹,還有一篇類似的:Resolving Issues Where Application Queries are Waiting Too Frequently for 'db file sequential read' Operations (文件 ID 1475825.1)
診斷“db file sequential read”的步驟:
簡述:
低效的SQL會引起不同節點間非常多的塊讀。
問題確認:
花費在本地資料庫的active時間非常明顯。
僅一些session,查詢或job變慢(不是整個資料庫)。
“db file sequential read”等待是整個DB time中佔比最大的元件。
“db file sequential read”等待操作不慢(IO的平均時間沒超過標準IO效能(例如少於20毫秒))。
等待“db file sequential read”操作太頻繁的應用查詢
等待“db file sequential read”事件指的是一個session正在等待一次從磁碟讀到記憶體的單塊讀以滿足查詢的要求。
假設完成一次IO操作的平均時間是正常的(例如單次IO花費時間少於20毫秒),那麼相比於單次IO操作的時間,花費在“db file sequential read”的總時間必須降到與IO次數相匹配。
如果“db file sequential read”等待次數太多,單條SQL又極消耗資源,那麼這些查詢的確可能需要調優以選擇一種更能接受的執行路徑,減少資源消耗。
為了確定哪些查詢等待“db file sequential read”最多,需要採集與AWR報告相同時間段的ASH報告。在報告中,查詢等待次數最多的查詢。可以與AWR報告關聯起來,根據CPU,IO和SQL統計節中的buffer gets的標準測量,判斷查詢的總體效能。
一旦有問題的語句已經確認,可以參考Document 223117.1 Troubleshooting I/O-related waits的“Reduce the I/O requirements of the database by tuning SQL”節中的方法,使用其中的方法提高這些語句的效能。
如果相比於太多這種等待事件,IO確實存在問題,那麼可以參考下面的細節:
Document 1476092.1 Troubleshooting IO Performance Problems Impacting Scattered Reads
Document 262687.1 How to use the Sql Tuning Advisor
Document 1195363.1 Database Performance and SQL
衡量正確性:
一旦已經嘗試如上方法,對比最新的AWR與標準AWR(AWR是基線)。查詢這種等待事件總體時間減少的百分比。如果仍有問題,需要重新分析這些問題,根據他們具體的現象定位具體的問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7192724/viewspace-774697/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解決db file sequential read與db file scattered read
- db file sequential read等待事件事件
- 【等待事件】db file sequential read事件
- db file sequential read 詳解
- db file sequential read及優化優化
- db file scattered read與事件db file sequential read相類似(轉)事件
- 等待事件db file sequential read、db file scattered read和direct read的區別事件
- db file sequential read事件的發生事件
- 詳解 db file sequential read 等待事件事件
- High Waits on 'Db File Sequential Read'AI
- data file int write和db file sequential read個人想法
- oracle wait event之db file sequential readOracleAI
- oracle之 db file sequential read等待事件優化思想Oracle事件優化
- 何時會發生db file sequential read等待事件?事件
- db file sequential read wait event等待事件之二AI事件
- 【TUNE_ORACLE】等待事件之IO等待“db file sequential read”Oracle事件
- 【kingsql分享】何時出現生db file sequential read等待事件SQL事件
- 等待事件--db file sequential reads事件
- 同一個資料塊的db file sequential read,說明了什麼?
- control file sequential read等待事件事件
- Oracle:db file scattered readOracle
- 事件:db file scattered read事件
- oracle等待事件2構造一個DB File Sequential Read等待事件和構造一個Direct Path ReadOracle事件
- db file scattered read等待事件事件
- 【等待事件】db file scattered read事件
- I/O上的等待事件 —— control file sequential read/control file parallel write事件Parallel
- 消除11.2上的db file parallel readParallel
- 0322理解db file parallel read等待事件2Parallel事件
- 0316理解db file parallel read等待事件Parallel事件
- 非空閒的等待事件-db file scattered read事件
- DB_FILE_MULTIBLOCK_READ_COUNT的設定BloC
- tatspack之十二-db file scattered read-DB檔案分散讀取
- 非空閒等待事件之:db file scattered read(轉)事件
- 【TUNE_ORACLE】等待事件之IO等待“db file scattered read”Oracle事件
- Oracle中db_file_multiblock_read_count引數探究OracleBloC
- 關於db_file_multiblock_read_count引數的設定BloC
- oracle 10g的db_file_multiblock_read_count引數Oracle 10gBloC
- MySQL5.7 Waiting for global read lockMySqlAI