技术开发 频道

Oracle数据库ASM功能详解


2 11g中ASM都有哪些新特征
  2.1 快速重新同步(ASM Fast Mirror Resync)
    短暂的磁盘路径发生问题时,恢复ASM磁盘组(DISK GROUP)的允余性是很费时间的,特别是这种恢复操作需要重新布局整个磁盘组的情况下。ASM快速磁盘重新同步这个新特征能显著减少重新同步一块坏磁盘时这种情况的时间,当你更换了坏磁盘,ASM能够快速的同步ASM磁盘的extent。

    任何使磁盘组临时不可用的问题被认为是暂时的失效,这是ASM快速重新同步新特征可以恢复的。磁盘路径失效,例如接口线问题,主机适配器问题,磁盘控制器问题,或者是磁盘电源问题这些都能引起瞬时失效。缺省的情况下,当一块磁盘脱机时,ASM会立刻移出该磁盘。ASM快速再同步功能够记录脱机磁盘在脱机期间该磁盘上区的所有的变化,当磁盘被修复或再次联机时,这期间更改的extent能够被快速的重新同步到刚才失效的这些磁盘中。

    你可以设定DISK_REPAIR_TIME这个属性使失效磁盘在被修复和再次联机这段时间内重新整理这样的操作不发生。这个时间可以以分钟(m或M)或者小时(h或H)为单位,如果你不指定时间单位,缺省的时间单位为小时。如果DISK_REPAIR_TIME这个属性没有设定,其缺省值为3.6小时。需要注意的是,这个缺省值适用于磁盘被设定为脱机模式而操作语句没有DROP AFTER子句这样的情况。大部分来说环境,3.6个小时这个DISK_REPAIR_TIME缺省属性数值应该都是合适的。

注意:
使用这项新功能,ASM磁盘组的兼容性需要设定至11.1或更高。

例:
CREATE DISKGROUP asmdskgrp1 DISK '/dev/raw/*'
SET ATTRIBUTE 'compatible.rdbms' = '11.1', 'compatible.asm' = '11.1';

    只有当包含脱机磁盘的磁盘组再次被挂上,消逝时间(自磁盘被设定成脱机模式后)都是增加的,V$ASM_DISK的REPAIR_TIME这列显示的是脱机磁盘在被删除之前所剩余的时间(单位:秒),当指定的时间到达后,ASM删除磁盘,可以用带有DROP AFTER的ALTER DISKGROUP DISK OFFLINE语句来覆盖这个属性。

注意:
    DROP AFTER也是11g的新特征。

    如果一条ALTER DISKGROUP SET ATTRIBUTE DISK_REPAIR_TIME操作的磁盘组含有脱机的磁盘,这个属性只对当前那些非脱机模式的磁盘是生效的。

    当一块脱机磁盘被第二次执行脱机操作,消逝时间会被重置并重新开始计算。如果另一个时间这块磁盘又被执行了DROP AFTER操作,上一个值会被覆盖并且新值生效。不能用ALTER DISKGROUP DROP DISK语句删除处于脱机状态的磁盘,这样操作时会报错。如果在某时情况,例如磁盘不能够被修复,需要在DISK_REPAIR_TIME到达前把磁盘删除时,可以再次执行带有DROP AFTER子句的OFFLINE语句,DROP AFTER指定0H或0M,表示立刻删除。

    你可以用ALTER DISKGROUP来设定磁盘组的DISK_REPAIR_TIME属性,可以是分钟,也可以是小时,例如4.5小时或270分钟,例如:

ALTER DISKGROUP dg01 SET ATTRIBUTE 'disk_repair_time' = '4.5h'
ALTER DISKGROUP dg01 SET ATTRIBUTE 'disk_repair_time' = '270m'

    在你修复磁盘后,运行ALTER DISKGROUP DISK ONLINE这条SQL语句可以使磁盘组恢复到联机状态,新的读写操作都可以正常进行了,这条语句也触发把磁盘维修期间内更改的extent从磁盘组冗余的数据重新同步到刚才失效的这些磁盘中。
0
相关文章