Tuesday, March 24, 2015

ORA-15410: Disks in disk group DATA do not have equal size.

SQL> select failgroup,path,os_mb from v$asm_disk;

FAILGROUP                      PATH                                OS_MB
------------------------------ ------------------------------ ----------
                               ORCL:D5GD1                           5119
                               ORCL:D5GD4                           5119
                               ORCL:D5GD2                           5119
                               ORCL:D5GD3                           5119
D2GD1                          ORCL:D2GD1                           2047
D2GD2                          ORCL:D2GD2                           2047
D2GD3                          ORCL:D2GD3                           2047

7 rows selected.

SQL> alter diskgroup data add failgroup fg1 disk 'ORCL:D5GD1';
alter diskgroup data add failgroup fg1 disk 'ORCL:D5GD1'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15410: Disks in disk group DATA do not have equal size.

SQL> alter diskgroup data add failgroup fg1 disk 'ORCL:D5GD1','ORCL:D5GD2' failgroup fg2 disk 'ORCL:D5GD3','ORCL:D5GD4'
  2  drop disk 'D2GD1','D2GD2','D2GD3';

Diskgroup altered.


CAUSE


1) Starting on 12.1.0.2 ASM release, this ASM constraint/validation is available:
15410, 00000, "Disks in disk group %s do not have equal size."
// *Cause: The disks in the diskgroup were not of equal size.
// *Action: Ensure that all disks in the diskgroup are of equal size. If
//          adding new disks to the diskgroup, their size must be equal to
//          the size of the existing disks in the diskgroup. If resizing, all
//          disks in the diskgroup must be resized to the same size.

2) Disks with uneven capacity can create allocation problems (e.g. "ORA-15041: diskgroup space exhausted") that prevent full use of all of the available storage in the failgroup /diskgroup.  

3) 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.

4) 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.
5) This ASM new feature is enabled by default on '12.1.0.2' Grid Infrastructure/ASM release and onwards.