Exadata · Oracle · Oracle Grid Infrastructure

“usable_file_mb” explained for Exadata asm structure

We will investigate the disk structure of a half rack exadata machine. There are 7 exadata storage servers and each one of the storage servers contains 12 hard disks. So You have total 84 disks on a half rack exadata machine.

For example if you have a diskgroup (DATA) having a size of 453632 MB on those 84 disks. If you query the asm stat of that diskgroup you can see 84 rows of same size disks reserved for that diskgroup.

select TOTAL_MB, NAME from v$asm_disk_stat
where name like 'DATA%';
TOTAL_MB NAME
1 453632 DATA_CD_00_DBCELADM01
2 453632 DATA_CD_00_DBCELADM02
3 453632 DATA_CD_00_DBCELADM03
.
.
83 453632 DATA_CD_11_DBCELADM06
84 453632 DATA_CD_11_DBCELADM07

Where does usable_file_mb come from ?
v$asm_diskgroup view gives tons of information and It is also a good start for capacity planning.
reference for that view cab be found at:
http://docs.oracle.com/cd/E11882_01/server.112/e25513/dynviews_1027.htm
For practical use lets explore this view a little bit.

select name, total_mb, free_MB, hot_used_mb + cold_used_mb tot_used, usable_file_mb, required_mirror_free_mb req_mb
from v$asm_diskgroup
where name = 'DATA';

NAME TOTAL_MB FREE_MB TOT_USED USABLE_FILE_MB REQ_MB
DATA 38105088 24650816 13454272 9603616 5443584

NAME:
is the name of the asm diskgroup. ( DATA )

TOTAL_MB:
total capacity of the diskgroup. ( 453632 * 84 = 38105088 )

HOT_USED_MB & COLD_USED_MB:
total used capacity (0 + 13454272)

FREE_MB:
remaining MB that is not used ( 38105088 – (0 + 13454272) = 24650816 )

REQUIRED_MIRROR_FREE_MB:
is the disk capacity of one failure group. In exadata one storage cell. ( 12 * 453632 = 5443584 )

USABLE_FILE_MB:
It is the left capacity assuming after you lost one failure group and rebalancing the diskgroup so that redundancy is guaranteed.
For a normal redundancy the calculation is follows :

USABLE_FILE_MB=(FREE_MB – REQUIRED_MIRROR_FREE_MB ) / 2 = ( 24650816 – 5443584 ) / 2 = 9603616

Advertisements

3 thoughts on ““usable_file_mb” explained for Exadata asm structure

  1. Nice writeup. Just a few comments:
    1. I am assuming you are using Normal Redundancy for your +DATA disk group. If so, the REQUIRED_MIRROR_FREE_MB seems always equal to the capacity of one failure group as your article indicates. I saw the same thing from multiple customers using Quarter Racks. However, I do notice, for customers using HIGH Redundancy, this REQUIRED_MIRROR_FREE_MB number is significant smaller than using NORMAL redundancy.
    2. In theory, if the USABLE_FILE_MB drops down to a certain number (sorry, I don’t know this magic number), the space in REQUIRED_MIRROR_FREE_MB can be used as free space. In other words, in your case, your actual USABLE_FILE_MB could be higher than your current 9603616 MB.

    1. Yes I tested it on Normal Redundancy. I never tested on High Redundancy. Thank you for sharing this information.
      I have no information about the magic number. I try to consider the failure scenario after losing one failure group. After the failure I considered the ASM rebalace operation and then calculated the USABLE_FILE_MB.

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