签到成功

知道了

CNDBA社区CNDBA社区

管理Oracle ASM磁盘组系列5--管理磁盘组容量

2018-02-05 21:13 3653 0 原创 Oracle 12C
作者: Expect-乐

1 说明

当Oracle ASM提供冗余的时候,例如当您创建一个具有NORMAL或HIGH冗余的磁盘组时,必须在每个磁盘组中拥有足够的容量来管理在一个或两个故障组失败后丢失的数据的重新创建。在一个或多个磁盘失败之后,为所有数据恢复冗余的过程需要磁盘组中剩下磁盘的空间。如果没有足够的空间,那么一些文件最终可能会降低冗余级别。
意味着这些文件将不会提供多个镜像用来冗余。

关于磁盘组空间划分,Oracle建议:

Normal redundancy disk group - It is best to have enough free space in your disk group to tolerate the loss of all disks in one failure group. The amount of free space should be equivalent to the size of the largest failure group.

http://www.cndba.cn/Expect-le/article/2627

NORMAL冗余,剩余空间应该和一个最大的故障组大小相等。

High redundancy disk group - It is best to have enough free space to cope with the loss of all disks in two failure groups. The amount of free space should be equivalent to the sum of the sizes of the two largest failure groups.
HIGH冗余,剩余空间应该和两个最大故障组大小相等。

备注:如果磁盘组类型是FLEX或EXTEND,则v$ ASM_DISKGROUP视图中的REQUIRED_MIRROR_FREE_MB和USABLE_FILE_MB列中的值为0。在这种情况下,0意味着没有给定值,而不是REQUIRED_MIRROR_FREE_MB和USABLE_FILE_MB的总大小。

http://www.cndba.cn/Expect-le/article/2627
http://www.cndba.cn/Expect-le/article/2627

2 介绍V$ASM_DISKGROUP视图的列

2.1 REQUIRED_MIRROR_FREE_MB

REQUIRED_MIRROR_FREE_MB表示磁盘组中实际可用的空间大小,以便在磁盘组不添加额外存储的情况下,在出现故障之后能够恢复到完全冗余状态。这个需要确保有足够的failgroup来恢复冗余。另外,这个最坏的故障是磁盘组中的磁盘被永久删除,而不是磁盘暂时的offline,然后重新online。
该列显示的空间大小考虑到了镜像的影响。该值计算如下:
NORMAL冗余的磁盘组,应该具有两个及以上的REGULAR failgroup。
该值是最大故障组中所有磁盘的总原始空间。例如,如果每个磁盘都是一个故障组,那么该值将是最大容量磁盘的大小。
HIGH冗余的磁盘组,应该具有三个及以上的REGULAR failgroup。
该值是两个最大的故障组中所有磁盘的原始空间。

2.2 USABLE_FILE_MB

USABLE_FILE_MB表示为镜像调整后的空闲空间的大小,用于在磁盘故障后恢复冗余的新文件。USABLE_FILE_MB是通过从磁盘组中总的空闲空间中减去REQUIRED_MIRROR_FREE_MB计算得来的,然后修改大小用于镜像。例如,在一个正常的冗余磁盘组中,默认情况下,镜像文件使用的磁盘空间等于其大小的两倍,如果又4 GB的实际可用文件空间,那么USABLE_FILE_MB大约等于2 GB,最多可以添加2 GB的文件。http://www.cndba.cn/Expect-le/article/2627

2.3 TOTAL_MB

TOTAL_MB是一个磁盘组以Mb为单位的总可用容量大小。本列中的数据计算将磁盘头的开销考虑在内。磁盘头开销取决于Oracle ASM磁盘和Oracle ASM文件的数量。这个值通常大约是原始存储容量的1%。例如,如果为Oracle ASM提供的LUN容量为100gb,那么TOTAL_MB列中的值大约为99 GB。http://www.cndba.cn/Expect-le/article/2627http://www.cndba.cn/Expect-le/article/2627

2.4 FREE_MB

FREE_MB是磁盘组中未使用的容量大小,不考虑任何数据不平衡。有些情况下,FREE_MB列中的值显示未使用的容量,但由于一个Oracle ASM磁盘已满,数据库写入失败,因为磁盘组的数据分布不平衡。确保执行手动Rebalance,来强制执行数据分配,从而准确地显示FREE_MB列中的值。

http://www.cndba.cn/Expect-le/article/2627

注:如果是外部冗余的磁盘组,那么 TOTAL_MB和FREE_MB就是真实的总大小和总可用大小。http://www.cndba.cn/Expect-le/article/2627

2.5 具体例子

SQL> SELECT name, type, total_mb, free_mb, required_mirror_free_mb, 
     usable_file_mb FROM V$ASM_DISKGROUP;
NAME         TYPE     TOTAL_MB    FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
------------ ------ ---------- ---------- ----------------------- --------------
DATA         NORMAL       6144       3768                    1024           1372

USABLE_FILE_MB = (FREE_MB - REQUIRED_MIRROR_FREE_MB) / 2
如:USABLE_FILE_MB =(3768 - 1024) / 2 = 2744 / 2 = 1372
3USABLE_FILE_MB上显示负值
由于FREE_MB、REQUIRED_MIRROR_FREE_MB和USABLE_FILE_MB之间的关系,USABLE_FILE_MB可以变为负值。虽然这并不一定是关键的情况,但它确实意味着:http://www.cndba.cn/Expect-le/article/2627

根据FREE_MB的值,可能无法创建新文件。
下一次磁盘出现问题可能导致文件减少冗余。

如果USABLE_FILE_MB变为负值,要尽快向磁盘组添加更多空间。

更多信息,请参考官方文档:
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ostmg/capacity-diskgroups.html#GUID-76AFF185-B68E-4B18-B826-2617A8955C32http://www.cndba.cn/Expect-le/article/2627

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Expect-乐

Expect-乐

关注

Without the continuous bitter cold, there can be no fragrant plum blossom

  • 336
    原创
  • 6
    翻译
  • 100
    转载
  • 41
    评论
  • 访问:1372020次
  • 积分:1957
  • 等级:核心会员
  • 排名:第3名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ