ORA-15410

If you have the disks greater than others, because of vendor. You can avoid the error shown below.

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

[root@server ~]# fdisk -l /dev/sdi

Disk /dev/sdi: 147.1 GB, 147086327808 bytes
255 heads, 63 sectors/track, 17882 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000cf5a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdi1               1       17849   143372061    5  Extended
/dev/sdi5               1       17849   143372029+  da  Non-FS data
[root@server ~]# fdisk -l /dev/sdh

Disk /dev/sdh: 146.8 GB, 146815733760 bytes
255 heads, 63 sectors/track, 17849 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0096363c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdh1               1       17849   143372061    5  Extended
/dev/sdh5               1       17849   143372029+  da  Non-FS data
SQL> select substr(path,1,13) nm,total_mb,free_mb,total_mb-free_mb use_mb,substr(failgroup,1,5) FG,substr(header_status,1,10) Header,state,mount_status from v$asm_disk order by 5;

NM              TOTAL_MB    FREE_MB     USE_MB FG    HEADER     STATE    MOUNT_S
------------- ---------- ---------- ---------- ----- ---------- -------- -------
ORCL:T01L214      140011      70675      69336 FG1   MEMBER     NORMAL   CACHED
ORCL:T01L213      140011      72444      67567 FG1   MEMBER     NORMAL   CACHED
ORCL:T01L212      140011      70710      69301 FG1   MEMBER     NORMAL   CACHED
ORCL:T01L211      140011      72468      67543 FG1   MEMBER     NORMAL   CACHED
ORCL:T01L210      140011      70669      69342 FG1   MEMBER     NORMAL   CACHED
ORCL:T01L201      140011      71279      68732 FG1   MEMBER     NORMAL   CACHED
ORCL:T01L209      140011      70133      69878 FG1   MEMBER     NORMAL   CACHED
ORCL:T01L203      140011      70665      69346 FG1   MEMBER     NORMAL   CACHED
ORCL:T01L204      140011      71834      68177 FG1   MEMBER     NORMAL   CACHED
ORCL:T01L205      140011      71243      68768 FG1   MEMBER     NORMAL   CACHED
ORCL:T01L206      140011      71246      68765 FG1   MEMBER     NORMAL   CACHED

SORTED! 🙂

SQL> alter diskgroup data add failgroup fg1 disk 'ORCL:T01L200' size 140011M;

But, it can be that is your own error. For example if you have made mistake when create partition as I did 🙂

[root@server ~]# parted -s -a optimal /dev/sdaa1 mkpart 1 0% 100

I’m just have missed % symbol, it should be like this

[root@server ~]# parted -s -a optimal /dev/sdaa1 mkpart 1 0% 100%

So, to recognize which size of partition do you have you need select os_mb column.

select substr(path,1,13) nm,os_mb,total_mb,free_mb,total_mb-free_mb use_mb,substr(failgroup,1,5) FG,substr(header_status,1,10) Header,state,mount_status from v$asm_disk order by 1 desc;

NM                 OS_MB   TOTAL_MB    FREE_MB     USE_MB FG    HEADER     STATE    MOUNT_S
------------- ---------- ---------- ---------- ---------- ----- ---------- -------- -------
ORCL:OCRVTDB2     102398          0          0          0       FORMER     NORMAL   CLOSED
ORCL:OCRVTDB2     102398     102398      99194       3204 OCRVT MEMBER     NORMAL   CACHED
ORCL:OCRVTDB1     102398     102398      99192       3206 OCRVT MEMBER     NORMAL   CACHED
ORCL:OCRVTDB1     102398          0          0          0       FORMER     NORMAL   CLOSED
ORCL:OCRVT22      102398          0          0          0       FORMER     NORMAL   CLOSED
ORCL:OCRVT21      102398     102398      99193       3205 OCRVT MEMBER     NORMAL   CACHED
ORCL:OCRVT12          94          0          0          0       PROVISIONE NORMAL   CLOSED
ORCL:OCRVT11          94          0          0          0       PROVISIONE NORMAL   CLOSED

Also you can decrease size for each disk. For example I wanna add new shelve with disks, but I have size of disks smaller than current disks by 1Mb, because of vendor, and I’ve got error.

SQL> alter diskgroup data add failgroup fg1 disk 'ORCL:D0[9]','ORCL:D1[0-2]' failgroup fg2 disk 'ORCL:D1[3-9]','ORCL:D2[0-4]' rebalance power 20;
alter diskgroup data add failgroup fg1 disk 'ORCL:D0[9]','ORCL:D1[0-2]' failgroup fg2 disk 'ORCL:D1[3-9]','ORCL:D2[0-4]' rebalance power 20
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15410: Disks in disk group DATA do not have equal size.
NM OS_MB TOTAL_MB FREE_MB USE_MB FG HEADER STATE MOUNT_S
-------------------- ---------- ---------- ---------- ---------- ----- ---------- -------- -------
ORCL:D02 3815446 0 0 0 PROVISIONE NORMAL CLOSED
ORCL:D08 3815446 0 0 0 PROVISIONE NORMAL CLOSED
ORCL:D19 3815446 0 0 0 PROVISIONE NORMAL CLOSED
ORCL:D20 3815446 0 0 0 PROVISIONE NORMAL CLOSED
ORCL:D13 3815446 0 0 0 PROVISIONE NORMAL CLOSED
ORCL:D09 3815446 0 0 0 PROVISIONE NORMAL CLOSED
ORCL:D11 3815446 0 0 0 PROVISIONE NORMAL CLOSED
ORCL:D17 3815446 0 0 0 PROVISIONE NORMAL CLOSED
ORCL:D23 3815446 0 0 0 PROVISIONE NORMAL CLOSED
ORCL:D16 3815446 0 0 0 PROVISIONE NORMAL CLOSED
ORCL:D03 3815446 0 0 0 PROVISIONE NORMAL CLOSED

NM OS_MB TOTAL_MB FREE_MB USE_MB FG HEADER STATE MOUNT_S
-------------------- ---------- ---------- ---------- ---------- ----- ---------- -------- -------
ORCL:D24 3815446 0 0 0 PROVISIONE NORMAL CLOSED
ORCL:D05 3815446 0 0 0 PROVISIONE NORMAL CLOSED
ORCL:OCRVT13 5119 5119 2821 2298 OCRVT MEMBER NORMAL CACHED
ORCL:OCRVT12 5119 5119 2791 2328 OCRVT MEMBER NORMAL CACHED
ORCL:OCRVT10 5119 5119 2789 2330 OCRVT MEMBER NORMAL CACHED
ORCL:OCRVT11 5119 5119 2782 2337 OCRVT MEMBER NORMAL CACHED
ORCL:DISK6 3815447 3815447 477220 3338227 FG1 MEMBER NORMAL CACHED
ORCL:DISK13 3815447 3815447 477109 3338338 FG2 MEMBER NORMAL CACHED
ORCL:DISK11 3815447 3815447 477099 3338348 FG2 MEMBER NORMAL CACHED
ORCL:DISK8 3815447 3815447 477095 3338352 FG2 MEMBER NORMAL CACHED
ORCL:DISK3 3815447 3815447 477095 3338352 FG1 MEMBER NORMAL CACHED

As you can see the os_mb is different. We can just resize each current disks, and then we can add the new one.

SQL> alter diskgroup data resize all size 3815446M;
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s