Oracle等待事件之Latch Free
生活随笔
收集整理的這篇文章主要介紹了
Oracle等待事件之Latch Free
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、產生原因
表示某個鎖存器上發生了競爭。首先應該確保已經提供了足夠多的Latch 數,如果仍然發生這種等待事件,那么應該進一步確定是那種鎖存器上發生了競爭(在v$session_wait 上的P2 字段表示了鎖存器的標號),然后再判斷是什么引起了這種鎖存器競爭。大多數鎖存器競爭都不是簡單的由鎖存器引起的,而是與鎖存器相關的組件引起的,所以需要找到具體導致競爭的根本。例如,如果發生了library cache latch 競爭,那么通常都表示著庫高速緩存的配置不合理,或者SQL 語句書寫不合理,帶來了大量的硬解析。
2、確定出現問題原因
SELECT latch#, name, gets, misses, sleeps FROM v$latch WHERE sleeps > 0;
3、解決辦法
Share Pool Latch:在OLTP 應用中應該更多地使用綁定變量以減少該latch 的等待。
Library Cache Latch:同樣需要通過優化SQL 語句,使用綁定變量減少該latch 的等待。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Oracle等待事件之Latch Free的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hibernate 一对一、一对多、多对
- 下一篇: 认识Spark