当指定故障组中一个磁盘大小之后,重新指定故障组所有磁盘大小如果默认没有size,那么将按照最大的操作系统磁盘进行resize 。
If you do not specify a new size in the SIZE clause, then Oracle ASM uses the size of the disk as returned by the operating system.
eg:
SQL> SELECT A.NAME G_NAME, B.NAME D_NAME,B.OS_MB,B.TOTAL_MB,B.FREE_MB,B.STATE, FAILGROUP, B.FAILGROUP_TYPE, PATH 2 FROM V$ASM_DISKGROUP A, V$ASM_DISK B 3 WHERE A.GROUP_NUMBER = B.GROUP_NUMBER 4 AND B.NAME LIKE 'DATAGROUP3%'; G_NAME D_NAME OS_MB TOTAL_MB FREE_MB STATE FAILGROUP FAILGRO PATH --------------- ------------------------- ---------- ---------- ---------- -------- ------------------------------ ------- ---------------------------------------- DATAGROUP3 DATAGROUP3_DISK10 1019 1019 966 NORMAL FAILGROUP_3 REGULAR /dev/oracleasm/disks/ASMDISK10 DATAGROUP3 DATAGROUP3_DISK7 1019 1019 966 NORMAL FAILGROUP_1 REGULAR /dev/oracleasm/disks/ASMDISK7 DATAGROUP3 DATAGROUP3_DISK8 1019 512 485 NORMAL FAILGROUP_2 REGULAR /dev/oracleasm/disks/ASMDISK8 DATAGROUP3 DATAGROUP3_DISK9 1019 512 484 NORMAL FAILGROUP_2 REGULAR /dev/oracleasm/disks/ASMDISK9 SQL> alter diskgroup datagroup3 resize disk datagroup3_disk8 size 1019M; Diskgroup altered. SQL> SELECT A.NAME G_NAME, B.NAME D_NAME,B.OS_MB,B.TOTAL_MB,B.FREE_MB,B.STATE, FAILGROUP, B.FAILGROUP_TYPE, PATH 2 FROM V$ASM_DISKGROUP A, V$ASM_DISK B 3 WHERE A.GROUP_NUMBER = B.GROUP_NUMBER 4 AND B.NAME LIKE 'DATAGROUP3%'; G_NAME D_NAME OS_MB TOTAL_MB FREE_MB STATE FAILGROUP FAILGRO PATH --------------- ------------------------- ---------- ---------- ---------- -------- ------------------------------ ------- ---------------------------------------- DATAGROUP3 DATAGROUP3_DISK10 1019 1019 966 NORMAL FAILGROUP_3 REGULAR /dev/oracleasm/disks/ASMDISK10 DATAGROUP3 DATAGROUP3_DISK7 1019 1019 966 NORMAL FAILGROUP_1 REGULAR /dev/oracleasm/disks/ASMDISK7 DATAGROUP3 DATAGROUP3_DISK8 1019 1019 986 NORMAL FAILGROUP_2 REGULAR /dev/oracleasm/disks/ASMDISK8 DATAGROUP3 DATAGROUP3_DISK9 1019 512 490 NORMAL FAILGROUP_2 REGULAR /dev/oracleasm/disks/ASMDISK9 SQL> alter diskgroup datag