12c ASM: Unable To Add New Disks With Dissimilar Size To 12.1.0.2 ASM Diskgroups

Hello,
Adding new disks to existing ASM diskgroups (Normal or High Redundancy) on ASM 12.1.0.2 release reports the following error.

SQL> alter diskgroup DATA add failgroup FG1 disk ‘/dev/mapper/oracleasm/DATA10’ size 20489M failgroup FG2 disk ‘/dev/mapper/oracleasm/DATA11’ size 20489M;
alter diskgroup DATA add failgroup FG1 disk ‘/dev/mapper/oracleasm/DATA10’ size 20489M failgroup FG2 disk ‘/dev/mapper/oracleasm/DATA11’ size 20489M
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15410: Disks in disk group DATA do not have equal size.

If you try to add using ASMCA, it gives following warning.
The size of the disks selected is not the same as to allow for an equal number of 1MB AU size blocks

Starting on 12.1.0.2 ASM release, this ASM constraint/validation is available. Disks with uneven capacity can create allocation problems that prevent full use of all of the available storage in the failgroup /diskgroup. This validation/constraint ensure that all disks in the same diskgroup have the same size, doing so provides more predictable overall performance and space utilization. If the disks are the same size, then ASM spreads the files evenly across all of the disks in the diskgroup. This allocation pattern maintains every disk at the same capacity level and ensures that all of the disks in a diskgroup have the same I/O load. Because ASM load balances workload among all of the disks in a diskgroup, different ASM disks should not share the same physical drive. This ASM new feature is enabled by default on ‘12.1.0.2’ Grid Infrastructure/ASM release and onwards.

Associated diskgroup was created using the ‘COMPATIBLE.ASM’=’12.1.0.2.0’ attribute and the disks size was =10239 MB. But the new candidate disks have a different size.

Use the original bigger disks (20489MB), but explicitly restrict/define the smaller/even required disk size (10239MB) at ASM level as follows:

sqlplus “/as sysasm”
SQL> alter diskgroup DATA add failgroup FG1 disk ‘/dev/mapper/oracleasm/DATA10’ size 10239M failgroup FG2 disk ‘/dev/mapper/oracleasm/DATA11’ size 10239M;

Leave a comment