11G新特性 -- ASM Fast Mirror Resync

ASM Fast Mirror Resync
     在oracle 10g中,如果asm磁盘因为光纤、控制器发生故障而发生failure,asm将无法继续向该磁盘中写入数据。
     asm会将发生failure的磁盘变为offline,等从其它冗余组同步完数据后,将该磁盘drop。asm不会再从被offline的磁盘读取数据,因为asm认为该磁盘的数据是过期的。
     即使failure的磁盘被自动修复,也需要手动将磁盘重新插回重新数据同步。
     1.将磁盘offline,并指定drop after语句
     SQL> alter diskgroup dgroup1 disk data01 drop after 0h;#asm完成数据重新平衡后将该磁盘删除
    
     2.再将该磁盘重新加入磁盘组之前,要清除掉该磁盘上的数据(在11g中不需要执行这个步骤)
     # dd if=/dev/zero of=asm_disk1 bs=1024k count=100
    
     3.将磁盘重新加入磁盘组
     SQL> alter diskgroup dgroup1 add disk '/dev/raw/raw1' size 100m;
    
    
     在oracle 11g中,ASM Fast Mirror Resync降低了10g中,磁盘发生failure时的成本开销。
     如果是暂时性的磁盘failure,asm会跟踪对发生failure的磁盘上的对应的extent的修改,等该磁盘恢复后,重新同步被修改过的extents。
     这样就只是需要重写很小一部分extents的内容。在将failure的磁盘offline后,并不会将其drop(需要看参数disk_repair_time的设置)。参数disk_repair_time的值表示在磁盘offline后的多长时间不会将磁盘drop。
    
开启ASM Fast Mirror Resync
     开启该功能需要针对磁盘组设置disk_repair_time的值。默认是3.6h
     SQL> alter diskgroup  dgroup1 set attribute 'disk_repair_time'='3.6h';
    
     要想将failure的磁盘维护结束后加入磁盘组,只需执行以下操作:
     SQL> alter diskgroup dgroup1 online; #自动使用ASM Fast Mirror Resync进行数据同步    

原文地址:https://www.cnblogs.com/wangchaoyuana/p/7532031.html