同事反應十幾分鐘前資料庫好像掛起了一會,讓我排查資料庫是否存在什麼問題。 第一反應看當前資料庫還是否有什麼等待事件,結果有direct path write等待事件。 於是抓了問題時間段20分鐘的ASH報告,發現了direct path write居首位 再順著看SQL,結果是這些INSERT操作 ...
同事反應十幾分鐘前資料庫好像掛起了一會,讓我排查資料庫是否存在什麼問題。
第一反應看當前資料庫還是否有什麼等待事件,結果有direct path write等待事件。
於是抓了問題時間段20分鐘的ASH報告,發現了direct path write居首位
再順著看SQL,結果是這些INSERT操作
經過查看表結構,TICKETIMAGE列是BLOB類型,推測資料庫在向表格裡插入BLOB數據時候沒有經過緩存,直接向資料庫文件寫資料庫才造成的direct path write 等待事件
由於本地磁碟IO性能差,於是決定關閉oracle的這一特性,找到oracle相關參數
alter system set "_direct_path_insert_features"=1;
經過一段時間觀察發現明顯改善了不少
附:查看Oracle隱含參數的SQL
SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
FROM SYS.x$ksppi x, SYS.x$ksppcv y
WHERE x.inst_id = USERENV ('Instance')
AND y.inst_id = USERENV ('Instance')
AND x.indx = y.indx
AND x.ksppinm LIKE '%direct%'
/