【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 lock和library cache pin區別總結
- library cache lock和library cache pin理解
- library cache pin和library cache lock的診斷分析
- Library Cache Pin 及 Library Cache Lock分析
- zt_如何平面解決library cache lock和library cache pin
- 定位Library Cache pin,Library Cache lock等待的解決方法
- 【ASK_ORACLE】Library Cache概念篇(二)之Library Cache Pin的定義Oracle
- library cache lock\pin的查詢與處理
- zt_library cache pin和lock等待分析
- enq:Library cache lock/pin等待事件ENQ事件
- Library cache lock/pin詳解(轉)
- oracle library cache之library cache lock_library cache pin wait event釋義OracleAI
- library cache pin/lock的解決辦法
- library cache lock和cursor: pin S wait on X等待AI
- zt_如何使用event 10049分析定位library cache lock and library cache pin
- Shared pool的library cache lock/pin及硬解析
- 0317Library Cache Pin/Lock Wait EventsAI
- create index online與非online在library cache lock/pin方面的區別Index
- [20240824]跟蹤library cache lock library cache pin使用gdb.txt
- sql version count引發cursor:pin s wait x及library cache latch library cache lockSQLAI
- [20240920]跟蹤library cache lock library cache pin使用gdb.txt
- Library cache pin/lock 在Oracle 10g的增強Oracle 10g
- 【等待事件】library cache pin事件
- 等待事件--library cache pin事件
- library cache pin等待分析
- library cache pin 等待事件事件
- oracle11g之v$libcache_locks處理library cache lock及library cache pinOracle
- LIBRARY CACHE LOCK 等待事件事件
- 【ASM_ORACLE】Library Cache最佳化篇(二)Library cache load lock的概念和解決辦法ASMOracle
- 11G資料庫之library cache lock及library cache pin模擬結合hanganalyze定位資料庫
- 由最長SQL想到的Latch Free( Library Cache Pin/Lock)整理~~草稿SQL
- library cache pin等待事件的模擬事件
- 模擬cache buffers chains與library cache pin等待事件AI事件
- [20241105]跟蹤library cache lock library cache pin使用gdb(11g)2.txt
- 解決library cache pin等待事件事件
- library cache pin 阻塞程式查詢
- 查詢Library Cache Pin等待原因
- 常用定位library cache lock的方法