library cache lock和library cache pin區別總結
library cache lock和library cache pin區別總結
library cache lock | library cache pin | |
共同點 | 同屬於資料字典鎖,目的是為了: 1、保持資料字典的一致性 2、為事務提供一致的物件定義檢視 | |
鎖物件 | 是為了請求library cache物件控制程式碼 | 是為了請求library cache資料heap |
先後關係 | 必須先期得到這個鎖 | 必須在得到library cache lock之後才能獲得這個鎖 |
獲取時間 | 在parse call階段 | 在call execution階段 |
用途 | 排他模式: 使用在父和子控制程式碼上 共享模式: 使用在所有的依賴關係物件控制程式碼上 NULL模式: 偵察不可用的狀態 避免再次重新定位(不是太理解) | 共享模式: 1、讀取資料的heaps 2、防止依賴物件不被修改 排他模式: 修改資料heaps |
鎖的使用 | 1、這裡說的物件控制程式碼就是一個資源結構 2、鎖結構被動態分配在共享池中 3、型別為LA。。LP | 1、這裡說的物件控制程式碼就是一個資源結構 2、鎖結構被動態分配在共享池中 3、型別為NA。。NP |
X表 | X$KGLLK | X$KGLPN |
綜述 | library cache lock也叫breakable parse lock,是用於控制在請求一個物件控制程式碼鎖的library cache的客戶端之間的併發性。就是說這個鎖就是防止其他的客戶端訪問同一個物件。這個所還能在library cache上定位一個物件。 | 這個library cache pin是管理cache的一致。pin一個物件能夠造成一個heap載入到記憶體中,(這裡有個疑問難道這個heap就不在記憶體嗎?應該不在,這樣這個heaps或許就可以理解為資料字典上的資料了),如果一個客戶端修改或者檢測一個物件,客戶端必須先請求一個library cache lock到相關的控制程式碼上,然後在pin合適的heap。 |
等待事件 | library cache lock | library cache pin |
等待週期3秒,PMON為1秒 | 等待週期3秒,PMON為1秒 | |
等待引數 | P1:物件控制程式碼地址 P2:鎖結構地址 P3:100*請求模式+namespace# | P1:物件控制程式碼地址 P2:pin地址 P3:100*請求模式+namespace# |
很少,除了pipes和序列 |
資料字典鎖還有一個型別是row cache locks。這個鎖是對應row cache來說的
row cache用途:
1、儲存的是資料字典上的行
2、是共享池的一部分
3、減少對於system表空間的物理IO次數
4、使用row cache lock來精確控制資料字典行上的鎖
這裡需要說明的是對於一個instance來說,都有一個隱含引數來確定row cache lock的多少,預設為100。_ROW_CACHE_INSTANCE_LOCKS
這個鎖也有一個等待事件與之對應:row cache lock
這個鎖等待週期是3秒,等待1000次之後就會放棄。
P1:cache id這個與v$rowcache上的cache#相對應
P2:保持的模式
P3:請求的模式
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/222350/viewspace-925875/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 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的方法
- 【ASK_ORACLE】Library cache pin 與 library load lock的關係和區別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事件
- Library Cache 診斷:Lock, Pin 以及 Load Lock (文件 ID 1548524.1)
- latch:library cache lock等待事件事件
- 【ASK_ORACLE】Library Cache概念篇(二)之Library Cache Pin的定義Oracle
- DBA手記(學習)-library cache pin
- Oracle Library cacheOracle
- 【TUNE_ORACLE】等待事件之“library cache lock”Oracle事件
- 一次library cache lock 問題分析
- 【ASM_ORACLE】Library Cache最佳化篇(二)Library cache load lock的概念和解決辦法ASMOracle
- [20190402]Library Cache mutex.txtMutex
- [20210507]dump library_cache.txt
- [20210902]library_cache物件級別轉儲.txt物件
- [20210507]分析library cache轉儲.txt
- 徹底搞清楚library cache lock的成因和解決方法(轉)
- [20210507]dump library_cache 2.txt
- Oracle 11g 密碼延遲認證與 library cache lock 等待Oracle密碼
- [20240827]分析為什麼出現library cache lock等待事件2.txt事件
- [20240828]分析為什麼出現library cache lock等待事件5.txt事件
- 【TUNE_ORACLE】等待事件之“library cache pins”Oracle事件
- [20210602]分析library cache轉儲 5.txt
- [20210524]分析library cache轉儲 4.txt
- [20210524]分析library cache轉儲 3.txt
- [20210508]分析library cache轉儲 2.txt
- [20201203]探究library cache mutex X 3.txtMutex
- Service Worker Cache 和 HTTP Cache 的區別HTTP
- 故障:核心表業務高峰期授權導致library cache lock和mutex x競爭Mutex
- [20220301]oracle如何定位使用library cache mutex.txtOracleMutex