【ASK_ORACLE】Library cache pin 與 library load lock的關係和區別
Library cache pin 與 library load lock 關係和區別
Library cache pin 和 load lock 可能出現在對 PL/SQL, views, types 等的編譯與重編譯期間。這種編譯總是顯式的(比如應用安裝,升級,打補丁)。但是物件重編譯也可能發生在物件失效期間。
在處理那些讓人摸不著頭腦的 library cache pin 和 load lock 等待時,則需要檢查為什麼物件失效了。很有可能失效是由於某些操作修改了它所依賴的物件的"LAST_DDL"。通常來說這些操作包括物件維護操作,比如 ALTER, GRANT, REVOKE, replacing views 等等。還有就是收集 optimizer statistics 也會造成 cursor 失效,進而導致 library cache 的重灌載。這個現象在 Oracle Server Application Developer's Guide 的object dependency maintenance 部分有描述。
物件失效以後,Oracle 嘗試在第一次訪問這個物件時去重編譯它。有些情況下,如果其它 session 已經 pin 住這個物件,可能就會出現問題。並且在有大量活躍使用者與複雜依賴關係(例如,很多交叉依賴的 packages 或package bodies)的情況下更容易出現問題。有些時候對物件的編譯會持續數小時從而阻止其它 session 對其的訪問。
在 library cache dump, level 10 可以看到:
查詢 ALTER ... COMPILE 語句和 lock=X 或 pin=X 的 objects/handles.
特別注意:
1. 需要頻繁使用的 stored PL/SQL 所依賴的物件,對其 altering, granting, evoking 操作需要特別小心。實際上,解決這種問題很大程度上依賴於應用程式和系統維護的時間。應用程式開發者需要考慮某些決定可能會對應用程式的可擴充套件性及效能產生負面影響。
2. Load lock總是以排它模式獲得的。如果 session load lock 繁忙,session 將一直等待,直到鎖變成可用。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2944759/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- library cache pin和library cache lock(一)
- library cache pin和library cache lock (zt)
- library cache pin和library cache lock(二)
- Library Cache最佳化篇(一)降低library cache lock和library cache pin的方法
- Library Cache 診斷:Lock, Pin 以及 Load Lock (文件 ID 1548524.1)
- 【ASK_ORACLE】Library Cache概念篇(二)之Library Cache Pin的定義Oracle
- [20240920]跟蹤library cache lock library cache pin使用gdb.txt
- [20240824]跟蹤library cache lock library cache pin使用gdb.txt
- library cache lock和library cache bin實驗_2.0
- library cache pin(轉)
- [20241105]跟蹤library cache lock library cache pin使用gdb(11g)2.txt
- [20241108]跟蹤library cache lock library cache pin使用gdb(11g)4.txt
- [20241108]跟蹤library cache lock library cache pin使用gdb(11g)3.txt
- 【等待事件】library cache pin事件
- 【ASM_ORACLE】Library Cache最佳化篇(二)Library cache load lock的概念和解決辦法ASMOracle
- latch:library cache lock等待事件事件
- DBA手記(學習)-library cache pin
- 【TUNE_ORACLE】等待事件之“library cache lock”Oracle事件
- 一次library cache lock 問題分析
- Oracle Library cacheOracle
- Oracle 11g 密碼延遲認證與 library cache lock 等待Oracle密碼
- 徹底搞清楚library cache lock的成因和解決方法(轉)
- [20210902]library_cache物件級別轉儲.txt物件
- [20190402]Library Cache mutex.txtMutex
- [20210507]dump library_cache.txt
- [20240827]分析為什麼出現library cache lock等待事件2.txt事件
- [20240828]分析為什麼出現library cache lock等待事件5.txt事件
- [20210507]分析library cache轉儲.txt
- Android原始碼編譯jar包BUILD_JAVA_LIBRARY 與BUILD_STATIC_JAVA_LIBRARY的區別(一)Android原始碼編譯JARUIJava
- 故障:核心表業務高峰期授權導致library cache lock和mutex x競爭Mutex
- [20190319]shared pool latch與library cache latch的簡單探究.txt
- [20210512]shared pool latch與library cache latch的簡單探究.txt
- [20210507]dump library_cache 2.txt
- Oracle11g 密碼延遲認證導致library cache lock的情況分析Oracle密碼
- 【TUNE_ORACLE】等待事件之“library cache pins”Oracle事件
- [20210602]分析library cache轉儲 5.txt
- [20210524]分析library cache轉儲 4.txt
- [20210524]分析library cache轉儲 3.txt