程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> ORACLEAUTOMATICSTORAGEMANAGEMENT翻譯-第十章ASM內置數據結構(3)完

ORACLEAUTOMATICSTORAGEMANAGEMENT翻譯-第十章ASM內置數據結構(3)完

編輯:Oracle教程

Disk Directory

Disk Directory包含了磁盤組中所有的磁盤信息。Disk Directory信息比PST更為詳細。磁盤組中的每一塊盤都有一個條目以數字為索引。Disk Directory的文件號在每個磁盤組中都是2號(F2)。

Disk Directory中的字段如下:

n Disk name

n Failure group name

n Disk size

n Disk free space

n Disk creation time

Disk Directory中大部分信息在disk header中都有。ALTERDISKGROUP … CHECK命令校驗關於磁盤中數據結構的一致性。磁盤組mount時DiskDirectory總是可用的,因此他也提供了關於normal-或high-redundancy模式下offline磁盤組的磁盤信息。

Active Change Directory(ACD)

ACD是一種日志結構,允許記錄ASM對多個元數據結構的修改。類似於ORACLE RDBMS的REDO LOG。每個實例有一個42M大小chunk的ACD。(正如Douglas Adams在Hitchhiker’sGuide to the Galaxy中的說明,生命的終極問題的答案是“42”, 宇宙和一切.)。每個chunk的第一個塊包含了open/close狀態和checkpoint。checkpoint每3秒更新一次。剩下的塊用做保存ACD修改記錄的循環buffer。(是的,“Active Change Directory Change record”是冗余的,但是沒有第二次修改,我們不能稱之為ACDC記錄)。新的ASM實例ACD會根據需要動態增長。ASM使用ACD來執行崩潰恢復和實例恢復進而保證了元數據的一致性。每個磁盤組的ACD的文件號是3(F3)。

Continuing Operations Directory(COD)

COD跟蹤長時間運行的磁盤組操作,如文件創建和重平衡。長時間運行操作的范圍不適合ACD。如果一個長時間運行的操作執行失敗COD條目可以使ASM恢復到失敗操作之前的狀態。例如,ASM可以回滾一個為創建文件未完成的操作。RDBMS失效或用戶行為可能會導致這個場景出現。對於磁盤組重平衡,如果實例執行重平衡失敗,ASM可以在一個集群中存活的節點上重新啟動重平衡操作,或者在單實例中掛載磁盤組以後重啟重平衡。COD在每個磁盤組中的文件號都是4號(F4)。

Template Directory

Template Directory包含磁盤組所有temlate的信息。創建的磁盤組支持默認的每種文件類型。如果用戶添加一個自己的template就會新增一個條目。TemplateDirectory使用數字索引編號。

每個template條目包含如下信息:

n Template name

n File redundancy

n File striping policy

n System flag

Template Directory在每個磁盤組中的文件號都是5號(F5)。默認模板名字與文件類型一致。文件冗余策略默認為磁盤組的冗余策略。文件條帶默認是文件類型指定的。系統flag設置為默認(或系統)模板。用戶創建模板沒有設置system標記。

Alias Directory

Alias Directory包含所有的alias的元數據,系統別名、系統目錄、用戶目錄、用戶別名。它也是使用數字索引編號的。

Alias Directory包含如下結構:

n Alias name(ordirectoryname)

n Alias incarnation number

n File number

n File incarnation number

n Parent directory

n System flag

Alias Directory在每個磁盤組中的文件編號都是6號(F6)。aliasincarnation與文件的incarnation非常相似,為可能擁有相同aliasnumber的別名或目錄提供唯一性保證。system flag是系統創建的別名和目錄,但是沒有為用戶創建的別名和目錄設置system flag。

AttributesDirectory

AttributeDirectory包括了磁盤組的屬性元數據。這個數據結構只有磁盤組COMPATIBLE.ASM是11.1或11.1以上才有。這樣的磁盤組,AttributeDirectory的文件號是9(F9)。(文件號7和8為將來的數據結構預留)。AU_SIZE屬性由於引導的原始實際是存放在磁盤頭的。COMPATIBLE.ASM在11.1或更高版本中存儲在PST中,否則也存放在磁盤頭。在ORACLEDATABASE 11g RELEASE 1,COMPATIBLE.RDBMS和DISK_REPAIR_TIME和他們的值存儲在AttributeDirectory中。今後的版本會支持其他的屬性。

Staleness Directory

Staleness Directory包括特定磁盤和客戶端的StalenessRegistry映射表槽的元數據。StalenessDirectory的文件號是12(F12)。如果有需要它會隨著StalenessRegister的分配而分配。

Staleness Registry(SR)

Staleness Registry用來跟蹤磁盤offline導致出現問題的AU。在normal-和high-redundancy磁盤組中並且COMPATIBLE.RDBMS設置為11.1或更高版本時,registry是254號文件(文件255為保留文件)。StalenessRegister在需要時創建,也會在需要調整額外offline磁盤或新建ASM和RDBMS實例時動態增長。

當磁盤offline時,每個RDBMS實例在StalenessRegistry中獲取到一個關於該盤的slot(槽)。這個slot有一個字節與OFFLINE磁盤的每個AU對應。當RDBMS要寫的位置正是offline磁盤的位置,如果還沒有設置相匹配的bit,RDBMS實例會為這塊盤在StalenessRegistry的slot中設置相匹配的bit。

當磁盤online時,ASM執行按位或操作通過對磁盤聯機數據庫實例使用。任何AU有bit設置必須從鏡像extent上復制。任何bit被清理的AU不需要作為磁盤online更新的一部分。因為只有磁盤offline時AU才需要更新修改,把一個磁盤online比添加一塊新盤替換舊盤更有效。

總結

ASM磁盤組是一個自描述的實體,存放了所有磁盤組中的元數據。每塊磁盤都有一少部分物理元數據。其余的元數據——存儲在虛擬地址的元數據——存放在ASM文件中,這使元數據利用相同元數據分布和冗余特性,通過存儲在磁盤組中的數據文件。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved