Oracle ASM (10) - ASM中優先讀failure group配置ASM_PREFERRED_READ_FAILURE_GROUPS

yuntui發表於2016-11-03

Oracle 11gR2
語法:
ASM_PREFERRED_READ_FAILURE_GROUPS = <diskgroup_name>.<failure_group_name>, ...


我們先溫習一下:
什麼是 ASM failure group? 

       Oracle ASM透過failure group來提供資料的高可用性。ASM使用的映象演算法並不是映象整個disk(和RAID不同),而是extent級的映象 (ASM extent是由1個或多個AU組成的,詳細見前幾章的說明)。所以一般要求failure group使用相同容量的disk,以免分配extent時出現問題。

      在normal redundancy模式下,ASM環境中每分配一個extent都會有一個primary copy和一個second copy,ASM的演算法保證了second copy和primary copy一定是在不同的failure group中(比如FG1,FG2),當然FG1, FG2必須是兩個物理獨立的磁碟組才能保證真正的Normal冗餘。  透過這個演算法,ASM保證了即使一個failure group中的所有disk都損壞了,資料也是完整的。

       Oracle在分配extent的時候,所有failure group中的這個將擁有相同資料的extent稱為一個extent set,當Oracle將資料寫入檔案的時候,primary copy可能在任何一個failure group中,而second copy則在另外的failure group中 (說簡單一點,就是交叉寫FG1,FG2, 比如前一個extent的主映象寫在FG1,副映象寫在FG2, 下一個extent的主映象寫在FG2 , 副映象寫在FG1),當Oracle讀取資料的時候,除非是primary copy不可用,否則將優先從primary copy中讀取資料 (這樣就會讀取到幾乎所有的磁碟,因為FG1,FG2上都有primary copy),透過這種寫入無序,讀取有序的演算法,Oracle保證了資料讀取儘量分佈在多個disk中。
       -- 未完,見下一篇 --

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30633755/viewspace-2127739/,如需轉載,請註明出處,否則將追究法律責任。

相關文章