Why is Usable_file_MB negative in v$asm_disk view ?

Check current ASM diskgroup status 
$ asmcmd lsdg -g DATA
Inst_ID  State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
      1  MOUNTED  NORMAL  Y         512   4096  1048576     15342     9454             5114            -386              1             N  DATA/
      3  MOUNTED  NORMAL  Y         512   4096  1048576     15342     9454             5114            -386              1             N  DATA/
      2  MOUNTED  NORMAL  Y         512   4096  1048576     15342     9454             5114            -386              1             N  DATA/

Check disk size:
SQL> select name, os_mb, failgroup from v$asm_disk where name like 'DATA%';
NAME                 OS_MB FAILGROUP
--------------- ---------- ------------------------------
DATA_0002             5114 DATA_0002
DATA_0003             5114 DATA_0003
DATA_0000             5114 DATA_0000

REQUIRED_MIRROR_FREE_MB value in V$ASM_DISKGROUP indicates how much free space is required in an ASM disk group to restore redundancy after
   failure of an ASM disk or ASM failure group.
USABLE_FILE_MB value indicates how much space is available in an ASM disk group considering the redundancy level of the disk group.
--> Here we need 5114 Mbyte ( == our disk size )  space if a disk of our diskgroup fails. But free space is only  9454 / 2 = 4727 MByte  ( Normal Redundacy ) .
    We end up in missing  5114 - 4724 = 390 Mbytes which means Normal Redundancy can not maintained for this diskgroup after an ASM
    disk or ASM failgroup failure.
Summary : 
    - 3 Disks each 5 Gbyte results that we can use for Normal redundancy : (3 x 5 Gbyte ) / 2 = 7,5 GByte
    - if we have a disk failure we need 5.1 Gbyte space but we only have 4.7 GByte available to maintain 2-way mirror
      --> this results that Usable_file_MB reports a negative value
    - In above configuration we should add some disks asap

Generic ASM calculation:
    USABLE_FILE_MB = (FREE_MB – REQUIRED_MIRROR_FREE_MB) / [2|3]

Reference:

http://prutser.wordpress.com/2013/01/03/demystifying-asm-required_mirror_free_mb-and-usable_file_mb/

Leave a Reply

Your email address will not be published. Required fields are marked *