天天看點

Oracle ASM 翻譯系列第二十七彈:ASM INTERNAL ASM METADATA BLOCKASM METADATA BLOCK

asm的中繼資料由asm執行個體進行維護和管理,元資訊本身非常重要,asm磁盤組中的檔案要想被oracle db和其他用戶端正常使用,就要求元資訊一定要是完好無損的,asm的元資訊以元資訊塊的形式存儲在磁盤組中。

譯者注:asm的元資訊可以類比為oracle資料庫的資料字典,一旦核心的元資訊發生毀壞,那麼asm磁盤組将不能被裝載繼而提供服務。

有些asm 中繼資料在每個asm 磁盤的固定位置,被稱為實體元資訊,有些asm中繼資料是以檔案(目錄)形式儲存,被稱為虛拟中繼資料,虛拟中繼資料像所有其他普通asm 檔案一樣被管理,它也會根據磁盤組備援屬性決定是否做鏡像,在磁盤組的配置發生變化後也會做重平衡,同時元資訊本身也會根據需要自動增長。

譯者注:例如元資訊1号檔案記錄了asm磁盤組中所有檔案的基本資訊,随着asm中檔案的不斷增多,1号檔案本身也會自動增長用來記錄新增的檔案。

asm實體中繼資料有如下幾個結構:

· 磁盤頭

· free space table ,fst表

· allocation table ,at表

· partnership and status table ,pst表

每個asm磁盤會在第一個au(au 0)的第一個block(block 0) 中記錄磁盤頭資訊,第二個block(block 1)中記錄fst表,剩餘的塊上記錄at表。

pst資訊儲存在每個磁盤的第二個au中(au 1),雖然每個磁盤的au 1都會為pst表而預留,但一個磁盤組隻會有幾個磁盤上真正的存放pst表。

虛拟中繼資料的結構如下:

· file directory

· disk directory

· active change directory (acd)

· continuing operations directory (cod) template directory

· alias directory

· advm volume directory

· disk used space directory

· attributes directory

· asm user directory and user group directory 

· staleness directory and staleness registry 

· password directory

以上虛拟中繼資料都是以檔案(目錄)的形式被管理,後續的章節中,也會對上面的每一個檔案進行詳細說明。

asm 中繼資料存儲在磁盤組内,換而言之就是磁盤組是asm 中繼資料存在的基本前提,值得強調的是asm 不會在磁盤組之外存儲任何東西。

每個asm 磁盤都有asm 的中繼資料資訊。有些中繼資料是僅和本磁盤相關的,有些是和整個磁盤組相關的。例如asm 磁盤頭是僅僅和本磁盤相關的,但partnership and status table-pst表卻是和整個磁盤組相關的。

有些中繼資料( 例如磁盤頭和at表)會存儲在每個磁盤上,而有些中繼資料隻會存儲在部分磁盤中。例如每個磁盤的au1會為pst資訊預留,但是僅一部分的磁盤會真正存放pst 資訊。

有些中繼資料結構可能在低的asm版本上并不存在。例如在相容性為10.2的磁盤組中,沒有staleness directory,它是為了配合11g出現的fast resync特性而出現的中繼資料結構,是以僅在11.1和之後的版本存在。即使在11.1版本中,外部備援的磁盤組也沒有staleness directory,隻有備援類型是normal和high的磁盤組上會有該類元資訊。

asm中繼資料結構是由一個或多個asm 中繼資料塊構成。塊類型和中繼資料類型是互相對應的,例如一個asm 磁盤頭很明确的由一個類型為kfbtyp_diskhead中繼資料塊組成的,一個at表是由多個類型為kfbtyp_alloctbl中繼資料塊組成。

asm 中繼資料是由asm 中繼資料塊組成的,更多的相關話題請參閱後續的有關asm中繼資料塊的章節。

<b>本文來自雲栖社群合作夥伴“dbgeek”</b>