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></b>
<b>本文來自雲栖社群合作夥伴“dbgeek”</b>