等待事件 direct path read 與11g中的非並行直接讀
direct path read(User I/O 類)
這類讀取通常在以下情況被使用:
·磁碟排序IO操作(從臨時表空間中讀出排序結果);
·並行查詢從屬程式;
·預讀操作。
最為常見的是第一種情況。在DSS系統中,存在大量的direct path read是很正常的,但是在OLTP系統中,
通常顯著的直接路徑讀(direct path read)都意味著系統應用存在問題,從而導致大量的磁碟排序讀
取操作。
在11g中,全表掃描可能使用direct path read方式,繞過buffer cache,這樣的全表掃描就是
物理讀了。 在10g中,都是透過buffer cache來讀的,所以不存在direct path read的問題。
direct path read較高的可能原因有:
1. 大量的磁碟排序操作,order by, group by, union, distinct, rollup, 無法在PGA中
完成排序,需要利用temp表空間進行排序。當從臨時表空間中讀取排序結果到PGA時,
會產生direct path read.
2. 大量的Hash Join操作,利用temp表空間儲存hash區。
3. SQL語句的並行處理 (常規表空間的直接讀取,所謂直接讀取即從磁碟直接讀到PGA)
4. 大表的全表掃描,在11g中,全表掃描的演算法有新的變化,根據表的大小、快取記憶體的大小
等資訊,決定是否繞過SGA直接從磁碟讀取資料。而10g則是全部透過快取記憶體讀取資料,稱
為table scan(large)。11g認為大表全表時使用直接路徑讀,可能比10g中的資料檔案雜湊
讀(db file scattered reads)速度更快,使用的latch也更少。具體有隱含引數。
大量的direct path read等待時間最可能是一個應用程式問題。 direct path read事件由SQL
語句驅動,這些SQL語句執行來自臨時的或常規的表空間的直接讀取操作。 當輸入的內容大於
PGA中的工作區域時,帶有需要排序的函式的SQL語句將排序結果寫入到臨時表空間中,臨時表
空間中的排序順序串隨後被合併,用於提供最終的結果。讀取排序結果時,Oracle會話在direct
path read等待事件上等待。DB_FILE_DIRECT_IO_COUNT初始化引數可能影響direct path read
的效能。
一個隱含引數:
_serial_direct_read = auto 預設值
_serial_direct_read = false 禁用direct path read
_serial_direct_read = true 啟用direct path read
alter sytem set "_serial_direct_read"=never scope=both sid='*'; 可以顯著減少direct path read
這類讀取通常在以下情況被使用:
·磁碟排序IO操作(從臨時表空間中讀出排序結果);
·並行查詢從屬程式;
·預讀操作。
最為常見的是第一種情況。在DSS系統中,存在大量的direct path read是很正常的,但是在OLTP系統中,
通常顯著的直接路徑讀(direct path read)都意味著系統應用存在問題,從而導致大量的磁碟排序讀
取操作。
在11g中,全表掃描可能使用direct path read方式,繞過buffer cache,這樣的全表掃描就是
物理讀了。 在10g中,都是透過buffer cache來讀的,所以不存在direct path read的問題。
direct path read較高的可能原因有:
1. 大量的磁碟排序操作,order by, group by, union, distinct, rollup, 無法在PGA中
完成排序,需要利用temp表空間進行排序。當從臨時表空間中讀取排序結果到PGA時,
會產生direct path read.
2. 大量的Hash Join操作,利用temp表空間儲存hash區。
3. SQL語句的並行處理 (常規表空間的直接讀取,所謂直接讀取即從磁碟直接讀到PGA)
4. 大表的全表掃描,在11g中,全表掃描的演算法有新的變化,根據表的大小、快取記憶體的大小
等資訊,決定是否繞過SGA直接從磁碟讀取資料。而10g則是全部透過快取記憶體讀取資料,稱
為table scan(large)。11g認為大表全表時使用直接路徑讀,可能比10g中的資料檔案雜湊
讀(db file scattered reads)速度更快,使用的latch也更少。具體有隱含引數。
大量的direct path read等待時間最可能是一個應用程式問題。 direct path read事件由SQL
語句驅動,這些SQL語句執行來自臨時的或常規的表空間的直接讀取操作。 當輸入的內容大於
PGA中的工作區域時,帶有需要排序的函式的SQL語句將排序結果寫入到臨時表空間中,臨時表
空間中的排序順序串隨後被合併,用於提供最終的結果。讀取排序結果時,Oracle會話在direct
path read等待事件上等待。DB_FILE_DIRECT_IO_COUNT初始化引數可能影響direct path read
的效能。
一個隱含引數:
_serial_direct_read = auto 預設值
_serial_direct_read = false 禁用direct path read
_serial_direct_read = true 啟用direct path read
alter sytem set "_serial_direct_read"=never scope=both sid='*'; 可以顯著減少direct path read
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-759050/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11g direct path read 等待事件的理解Oracle事件
- direct path read/read temp等待事件事件
- 11g中direct path read事件等待很高的一個案例事件
- 11g direct path read 等待事件的實驗分析事件
- 11g direct path read 等待事件的初步探討事件
- 【TUNE_ORACLE】等待事件之IO等待“direct path read”Oracle事件
- enq: KO - fast object checkpoint 等待事件與 direct path read - 1ENQASTObject事件
- enq: KO - fast object checkpoint 等待事件與 direct path read - 2ENQASTObject事件
- enq: KO - fast object checkpoint 等待事件與 direct path read - 3ENQASTObject事件
- Oracle常見等待事件之direct path read/writeOracle事件
- Oracle中的direct path read事件(轉)Oracle事件
- direct path read/write等待的分析
- 【效能調整】等待事件(六) direct path read&write事件
- ORACLE等待事件:direct path writeOracle事件
- Oracle11gR2後direct path read等待事件的改變Oracle事件
- oracle等待事件2構造一個DB File Sequential Read等待事件和構造一個Direct Path ReadOracle事件
- 解決direct path read 與 direct path write問題
- 【TUNE_ORACLE】等待事件之IO等待“direct path write”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“direct path write temp”Oracle事件
- Oracle 11g全表掃描以Direct Path Read方式執行Oracle
- zt_direct path read temp等待如何解決_wait eventAI
- 等待事件db file sequential read、db file scattered read和direct read的區別事件
- oracle等待事件3構造一個Direct Path write等待事件和構造一個Log File Sync等待事件Oracle事件
- 非空閒的等待事件-db file scattered read事件
- 非空閒等待事件之:db file scattered read(轉)事件
- 一次direct path read 故障處理
- direct path read wait event 的處理辦法AI
- Oracle 11g 中 Direct path reads 特性 說明Oracle
- Oracle direct path read相關隱含引數Oracle
- read by other session等待事件Session事件
- 等待事件:read by other session事件Session
- 【等待事件】read by other session事件Session
- read by other session 等待事件分析Session事件
- db file scattered read等待事件事件
- db file sequential read等待事件事件
- 【等待事件】db file sequential read事件
- 【等待事件】db file scattered read事件
- 非空閒等待事件事件