日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Oracle 检查点队列和HASH Bucket

發(fā)布時(shí)間:2025/4/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle 检查点队列和HASH Bucket 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作為磁盤數(shù)據(jù)塊的緩存,Buffer Cache在Oracle的所有內(nèi)存池中是最大的。

假設(shè)進(jìn)程要訪問5號(hào)數(shù)據(jù)文件中的第1234號(hào)塊,Oracle如何知道這個(gè)塊是否在Buffer Cache中?如果在,地址是多少?使用HASH算法;

在Oracle中,幾乎所有在內(nèi)存中搜索數(shù)據(jù)的算法都采用HASH算法。

HASH算法中有一個(gè)重要的概念:Bucket。
Buffer Cache中的HASH Bucket數(shù)量,由_db_block_hash_buckets參數(shù)設(shè)置。

Oracle HASH表的Bucket中存放的是指向鏈表頭的指針。
Buffer Header,簡(jiǎn)稱BH。

SGA中是公共內(nèi)存,哪怕要訪問公共內(nèi)存中的一個(gè)字節(jié),都需要有某種鎖機(jī)制保護(hù)。
Oracle采用的鎖機(jī)制是Latch和Mutex。

修改塊時(shí),Buffer中有用戶最新修改的數(shù)據(jù),這些數(shù)據(jù)還沒有寫入磁盤,這樣的Buffer就是臟Buffer(臟塊)。
臟塊由DBWR進(jìn)程統(tǒng)一寫磁盤。

臟塊鏈表有兩個(gè),檢查點(diǎn)隊(duì)列(CKPT-Q),LRUW。

當(dāng)塊變臟,Oracle會(huì)做兩件事,一是生成Redo,二是將臟塊鏈接到檢查點(diǎn)隊(duì)列。

select CPDRT,CPLRBA_SEQ||'.'||CPLRBA_BNO||'.'||CPLRBA_BOF "Low RBA", CPODR_SEQ||'.'||CPODR_BNO||'.'||CPODR_BOF "On disk RBA",CPODS,CPODT,CPHBT from x$kcccp;SELECT ksppinm, ksppstvl, ksppdescFROM x$ksppi x, x$ksppcv yWHERE x.indx = y.indxAND ksppinm = '_db_block_hash_buckets';

CPDRT列是檢查點(diǎn)隊(duì)列中的臟塊數(shù)目;?
CPODS列是on disk rba的scn ;?
CPODT列是on disk rba的時(shí)間戳 ;?
CPHBT列是心跳。

?

隱藏參數(shù) (hidden parameters) ,由oracle內(nèi)部使用,以 '_' 開頭。

查看_db_block_hash_buckets的參數(shù)值;

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Oracle 检查点队列和HASH Bucket的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。