Library Cache主要用于存儲系統(tǒng)中的可執(zhí)行對象(例如:SQL語句,PL/SQL塊及相關(guān)對象等)及其相關(guān)信息(解析信息,可執(zhí)行代碼,相關(guān)對象及信息,相關(guān)控制結(jié)構(gòu)等),以便實現(xiàn)這些可執(zhí)行對象及其相關(guān)信息的快速訪問和共享。
成都創(chuàng)新互聯(lián)是一家企業(yè)級云計算解決方案提供商,超15年IDC數(shù)據(jù)中心運營經(jīng)驗。主營GPU顯卡服務(wù)器,站群服務(wù)器,德陽機房服務(wù)器托管,海外高防服務(wù)器,服務(wù)器機柜,動態(tài)撥號VPS,海外云手機,海外云服務(wù)器,海外服務(wù)器租用托管等。
Hash Bucket主要用于特定可執(zhí)行對象的快速定位和存取,每個哈希桶中對應(yīng)一個將多個可執(zhí)行對象連接起來的鏈表,而這些可執(zhí)行對象在鏈表中的表現(xiàn)形式就是可執(zhí)行對象的句柄(Handle),當(dāng)需要定位或訪問特定對象時,系統(tǒng)通過對特定SQL或PL/SQL對象做特定哈希計算,就可以快速得知該特定對象應(yīng)該位于的哈希桶,而每個哈希桶的鏈表比較短,尤其是高版本的Oracle中,哈希桶的鏈表更短,這樣,在哈希桶鏈表中定位和訪問特定對象會非常快速。至于Library Cache中哈希桶的數(shù)目,系統(tǒng)會根據(jù)Shared Pool的大小自動算出,以確保哈希桶在夠用的同時,也不會導(dǎo)致哈希桶中對象數(shù)目過多而影響定位和訪問的效率。哈希桶示意圖如下所示。
4. Hash Latch
上面我們也提到,每個哈希桶通過鏈表將多個可執(zhí)行對象連接到一起,而這些可執(zhí)行對象在其中以對象句柄形式存在在,這些句柄包含了這些對象的相關(guān)屬性,例如:名稱、標(biāo)記、指向?qū)ο髢?nèi)存地址的指針等。Library Cache Handle具體如下所示。
6. Library Cache Object
哈希桶中鏈表上的Handle對應(yīng)的是可執(zhí)行對象(Library Cache Object),這些對象由一些獨立的堆(Heap)所組成,具體說,哈希桶中鏈表上的Handle指向這些可執(zhí)行對象時,其實是指向它的第一個堆(heap 0),其中記錄了指向該對象其他堆(Heap)的指針信息等,這些堆具體包括:
1)依賴表(Dependency Table):當(dāng)前對象(Library Cache Object,簡稱LCO)依賴的其它對象信息,例如:該對象所依賴的表、視圖、索引等。
2)子表(Child Table):當(dāng)前對象的子LCO及其相關(guān)信息。
3)數(shù)據(jù)塊(Data Block):當(dāng)前對象的SQL語句、執(zhí)行計劃、執(zhí)行文本等信息。
。。。
當(dāng)Oracle用戶提交SQL或PL/SQL等可執(zhí)行對象后,這將在Library Cache中生成一個叫做游標(biāo)(cursor)對象,這些游標(biāo)對象可被多個會話共享,這樣既節(jié)省了資源又提高了效率。同時,每個游標(biāo)又由兩部分表達(dá)和限定,即父游標(biāo)(Parent Cursor)和子游標(biāo)(Child Cursor),這些通過系統(tǒng)相關(guān)動態(tài)視圖可以查詢和了解。父游標(biāo)和子游標(biāo)具體如下所示。
<1br style="box-sizing:border-box;color:#4F4F4F;font-family:" font-size:16px;text-align:justify;white-space:normal;"="">
當(dāng)前題目:OracleSharedPool之LibraryCache
網(wǎng)頁路徑:http://muchs.cn/article24/gddece.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、App開發(fā)、網(wǎng)站營銷、定制開發(fā)、網(wǎng)站改版、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)