Oracle緩沖塊管理機制的看法
我們大家都知道關于Oracle緩沖塊管理機制一直是沒有正式發(fā)布過的,所以有許多在其方面有經(jīng)驗的Oracle工程師都是通過相關經(jīng)驗或者一下Oracle文檔中的注釋來推斷Oralce的緩沖塊的管理機制的。
事實上,Oracle使用v$bh視圖來記錄與數(shù)據(jù)緩沖(data buffer)相關的信息,它詳細記錄了數(shù)據(jù)緩沖中每一個數(shù)據(jù)塊(data block)的狀態(tài)信息。
在v$bh視圖中的status字段,記錄了數(shù)據(jù)塊的狀態(tài),在非OPS、非RAC這樣的集群環(huán)境中,數(shù)據(jù)塊的狀態(tài)會是下列幾種之一:xcur,cr,read,free,用戶可以通過如下命令得到數(shù)據(jù)庫的狀態(tài)信息:
- SQL> select unique status from v$bh;
Oracle緩沖塊狀態(tài)的意義分別是:
xcur:(exclusive current)的意思,表示該數(shù)據(jù)塊處于排外模式;
cr:表示該數(shù)據(jù)塊是一個克隆(clone)的數(shù)據(jù)庫,可以執(zhí)行共享的只讀操作;
free:表示這是一個限制的數(shù)據(jù)塊,Oracle現(xiàn)在沒有使用它;
read:表示該數(shù)據(jù)塊正在從磁盤讀取數(shù)據(jù);
write:表示數(shù)據(jù)庫正在往磁盤寫入數(shù)據(jù);
在數(shù)據(jù)庫恢復過程中,該字段還有另外兩個描述:mrec和irec:
mrec:(media recovery)表示數(shù)據(jù)塊處于介質恢復模式;
irec:(instance recovery)表示數(shù)據(jù)塊處于實例恢復模式;
在RAC環(huán)境中,數(shù)據(jù)塊還有另外一種模式:
scur (shared current),表示該數(shù)據(jù)庫正在和其他實例共享數(shù)據(jù)。
以上的相關內容就是對Oracle緩沖塊(data block)狀態(tài)類型的相關內容介紹,望你能有所收獲。
【編輯推薦】