这节讲如何修改磁盘组,主要包括:
我们可以使用alter命令来修改磁盘组,例如新增,删除,修改大小磁盘等操作,Oracle建议同一个语句中同时进行多个操作
可使用alter diskgroup的ADD子句新增磁盘
注意:新增加的磁盘不能属于其他磁盘组
ALTER DISKGROUP dgroup1 ADD DISK '/devices/diskd*' REBALANCE POWER 5 WAIT;
ALTER DISKGROUP dgroup1 ADD DISK '/devices/diska5' NAME diska5, '/devices/diska6' NAME diska6, '/devices/diska7' NAME diska7, '/devices/diska8' NAME diska8,
force参数在如下情形使用:
ALTER DISKGROUP dgroup2 ADD DISK '/devices/diskc3' FORCE;
默认情况下会将每个磁盘划入各自的故障组
alter diskgroup DG2 add failgroup FG1 disk '/dev/oracleasm/disks/VOL7' add failgroup FG2 disk '/dev/oracleasm/disks/VOL8' add failgroup FG3 disk '/dev/oracleasm/disks/VOL9';
可使用alter diskgroup的DROP 子句新增磁盘
使用force参数强制删除磁盘,即使ASM不能识别或写入该磁盘
ALTER DISKGROUP dgroup1 DROP DISK diska5;
ALTER DISKGROUP dgroup1 DROP DISK diska5 ADD FAILGROUP failgrp1 DISK '/devices/diska9' NAME diska9;
可使用alter diskgroup的resize子句做如下操作:
ALTER DISKGROUP dgroup1 RESIZE DISKS IN FAILGROUP failgrp1 SIZE 100G;
如果不指定size参数,将设置为系统识别到的大小
上面的语句修改dgroup1磁盘组的failgrp1故障组所有磁盘的大小为100G
可以使用ALTER DISKGROUP 的 UNDROP DISKS 字句来取消挂起状态的删除磁盘动作
如果drop动作已经完成或者使用了force命令删除磁盘,则无法使用取消
ALTER DISKGROUP dgroup1 UNDROP DISKS;
ASM会在磁盘组配置更改后自动进行平衡,默认情况下更改命令会立即返回成功
我们可以使用wait参数使其等到重新平衡完成后才返回成功,这个在脚本中会比较有用
如果在ALTER DISKGROUP 没有指定POWER参数,则POWER值由ASM_POWER_LIMIT参数指定
其取值范围从0到11
为0表示不会自动平衡,需要手动输入命令平衡
越高重平衡速度越快但也越耗资源
我们可以使用如下语句手动进行平衡
ALTER DISKGROUP dgroup2 REBALANCE POWER 5 WAIT;
如指定wait参数则可以使用ctrl+c组合键取消
可以通过V$ASM_OPERATION 视图查看平衡操作
好了,这节讲了磁盘组的更改命令,下节ASM 磁盘的发现