【ASK_ORACLE】Library Cache概念篇(二)之Library Cache Pin的定義
Library Cache Pin的定義
這個事件是管理 library cache 併發。Pin 住一個物件會使它使用的 heap 被載入到記憶體中。如果一個使用者想要修改或檢查這個物件,它必須在獲得 lock 之後再取得一個 Pin。 Pin 可以用 NULL, SHARE, EXCLUSIVE 模式獲得, 並且可以看做是一種特殊的 lock。等待"library cache pin"意味著這個 PIN 正被某個其它 session 以不相容的模式持有。
訪問當前被快取到 library cache 中的資料庫物件(表,檢視,過程,函式,包,包體,觸發器,索引,聚簇,同義詞)的時候需要獲得 library cache pin; 在 library cache 中,資料庫物件被快取成兩部分:控制程式碼(handle)和物件(object); 這個鎖(pin)只有當"object"部分被快取的時候才會被持有。
Library cache pin 上的死鎖不會被自動檢測到,對其的操作是同步進行的!
注:
在10g以後,"library cache pin"已經被 mutex 取代,即 “cursor: pin S wait on X”, 在Oracle 10.2中開始引入,這裡就簡單說明下這個等待事件,其原理大同小異。說明如下:
一個會話等待“cursor: pin S wait on X”,當它想在一個特定的遊標上以S(共享)模式獲得一個互斥鎖,但其他會話以X(獨佔)模式持有同一個互斥鎖時。因此當前會話必須等待X模式持有者釋放互斥量。
在RAC中,互斥物件對於的當前例項來說是本地的,不是共享的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2941746/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- library cache pin和library cache lock(二)
- Library Cache最佳化篇(一)降低library cache lock和library cache pin的方法
- library cache pin和library cache lock(一)
- library cache pin和library cache lock (zt)
- library cache pin(轉)
- 【等待事件】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
- 【ASM_ORACLE】Library Cache最佳化篇(二)Library cache load lock的概念和解決辦法ASMOracle
- DBA手記(學習)-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 lock和library cache bin實驗_2.0
- Oracle Library cacheOracle
- 【ASK_ORACLE】Row Cache Enqueue鎖之概念篇OracleENQ
- Library Cache 診斷:Lock, Pin 以及 Load Lock (文件 ID 1548524.1)
- [20190402]Library Cache mutex.txtMutex
- latch:library cache lock等待事件事件
- [20210507]dump library_cache.txt
- 【TUNE_ORACLE】等待事件之“library cache lock”Oracle事件
- 【TUNE_ORACLE】等待事件之“library cache pins”Oracle事件
- [20210507]分析library cache轉儲.txt
- [20210507]dump library_cache 2.txt
- [20210602]分析library cache轉儲 5.txt
- [20210524]分析library cache轉儲 4.txt
- [20210524]分析library cache轉儲 3.txt
- [20210508]分析library cache轉儲 2.txt
- 一次library cache lock 問題分析
- [20201203]探究library cache mutex X 3.txtMutex
- [20220304]測試library cache mutex遇到的疑問.txtMutex
- [20220301]oracle如何定位使用library cache mutex.txtOracleMutex
- [20210902]library_cache物件級別轉儲.txt物件
- [20220302]oracle如何定位使用library cache mutex 2.txtOracleMutex
- [20220303]oracle如何定位使用library cache mutex 3.txtOracleMutex
- [20190319]shared pool latch與library cache latch的簡單探究.txt
- [20210512]shared pool latch與library cache latch的簡單探究.txt