grid@rac1:/home/grid>asmcmd lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED NORMAL N 512 4096 1048576 9216 8281 3072 2604 0 Y OCRVOTE/
MOUNTED NORMAL N 512 4096 1048576 456704 347918 0 173959 2 N REDODG/
MOUNTED NORMAL N 512 4096 1048576 12102656 3596985 4110336 -256675 0 N DATADG/
看到 Usable_file_MB 该值为负数 是不是比较奇怪。
通过查询联机文档 具体解释如下:
Req_mir_free_MB NUMBER Amount of space that is required to be available in a given disk group
in order to restore redundancy after one or more disk failures. The amount of space displayed in this
column takes mirroring effects into account.
Req_mir_free_MB:考虑镜像需要的空闲空间,一般约等于一个FailGroup的大小。
如果一个磁盘组里FailGroup大小不一样,ORACLE会取最大的FailGroup作为Req_mir_free_MB的值。Free_MB代表了真正剩余空间,包含了镜像块在里面。
因此真正可用的FREE空间等于 Free_MB/冗余度(当前希望你的每个FG大小基本相等,否则可用空间就不是这么算了)
Usable_file_MB Amount of free space that can be safely utilized taking mirroring
into account and yet be able to restore redundancy after a disk failure
Usable_file_MB的计算方法为:
Usable_file_MB=(Free_MB-Req_mir_free_MB)/冗余度
从上面的公式可以看出如果Free_MB的大小小于磁盘组最大的一个FailGroup大小的话,值就会出现负数。出现负数后,非常可能一个
FailGroup毁坏后剩余的DG空间不再满足对于mirror/rebalance的要求。如果想看磁盘组剩余空间的话,主要关注FREE_MB的值就可以了。
列举说明 :
当创建一个创建组 ,该组使用normal 的冗余方式,该组包括3个failgroup且3个failgroup一样大。
那么当该磁盘组可用容量占比总容量小于33.3%,那么这个时候该值会出现负值 。
大概公式如下 :
Usable_file_MB=(Free_MB-Req_mir_free_MB)/冗余度
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31134212/viewspace-2086568/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31134212/viewspace-2086568/
本文解析了Oracle ASM磁盘组中Usable_file_MB出现负数的原因及计算方法。当Free_MB小于最大FailGroup大小时,Usable_file_MB会出现负数,这表明磁盘组在经历一次故障后可能无法满足冗余需求。
2881

被折叠的 条评论
为什么被折叠?



