zoukankan      html  css  js  c++  java
  • 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进行数据同步    

  • 相关阅读:
    log4net封装类
    (转)MySQL InnoDB 架构
    备份宽带不足,innobackupex备份导致从库不可写
    从库查询阻塞xtrabackup备份,应该是kill备份还是kill查询的问题
    rabbitmq群集安装
    MySQL索引选择问题(要相信MySQL自己选择索引的能力)
    binlog_format产生的延迟问题
    命令行登录mysql报Segmentation fault故障解决
    MySQL5.7.21启动异常的修复
    大查询对mha切换的影响
  • 原文地址:https://www.cnblogs.com/wangchaoyuana/p/7532031.html
Copyright © 2011-2022 走看看