Oracle磁盘组空间asm满了,管理Oracle ASM磁盘组系列5--管理磁盘组容量

1 说明

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

意味着这些文件将不会提供多个镜像用来冗余。https://www.cndba.cn/Expect-le/article/2627https://www.cndba.cn/Expect-le/article/2627

关于磁盘组空间划分,Oracle建议:https://www.cndba.cn/Expect-le/article/2627

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.

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的总大小。

https://www.cndba.cn/Expect-le/article/2627https://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。

该值是两个最大的故障组中所有磁盘的原始空间。https://www.cndba.cn/Expect-le/article/2627

2.2 USABLE_FILE_MB

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

2.3 TOTAL_MB

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

2.4 FREE_MB

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

注:如果是外部冗余的磁盘组,那么 TOTAL_MB和FREE_MB就是真实的总大小和总可用大小。https://www.cndba.cn/Expect-le/article/2627https://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可以变为负值。虽然这并不一定是关键的情况,但它确实意味着:

根据FREE_MB的值,可能无法创建新文件。

下一次磁盘出现问题可能导致文件减少冗余。

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值