一、冗余级别
ASM 磁盘组空间理解必须先看冗余类型:
-
EXTERN:ASM 不做镜像
-
NORMAL:ASM 双副本
-
HIGH:ASM 三副本
不同冗余级别下,Usable_file_MB 的计算不同。
ASM 磁盘组空间理解必须先看冗余类型,每种冗余对应数据的镜像副本数和容错能力:
-
EXTERN(无冗余)
ASM 不做任何镜像,数据只写一次。
✅ 优点:节省空间
⚠️ 缺点:磁盘损坏会导致数据丢失
-
NORMAL(双副本)
每份数据写两次,保留一份镜像。
✅ 优点:可容忍单盘故障
⚠️ 缺点:可用空间约为总容量的一半
-
HIGH(三副本)
每份数据写三次,保留两份镜像。
✅ 优点:可容忍两块盘同时故障
⚠️ 缺点:可用空间约为总容量的三分之一
总结:冗余不仅影响可用空间,还保证了磁盘故障时数据安全。Usable_file_MB 的计算必须结合冗余级别,否则容易误判可写容量。
二、磁盘组空间结构(以 RECO、HIGH 冗余为例)
Total_MB(总容量)= 8.79 TB
├─ 已分配文件占用(Mirror_used_MB)= 4.22 TB
│ └─ 数据文件、归档日志、备份文件、控制文件、SPFILE 等已经占用的空间
└─ Free_MB(逻辑空闲)= 4.82 TB
├─ Req_mir_free_MB(冗余预留)= 2.93 TB
│ └─ 为三倍冗余和未来写入预留的"保险带",平时不占用
└─ Usable_file_MB(可用空间)= 0.63 TB
└─ 平时写入归档、备份等可用的实际可写空间

三、重要理解
-
已分配文件占用 ≠ 可用空间
Mirror_used_MB 是历史已写入文件实际占用的空间,不在 Free_MB 中。
-
Req_mir_free_MB
-
不是已用空间,而是 ASM 为保证镜像安全预留的底线
-
平时不会被写入消耗,只有当 Usable_file_MB 用尽才可能使用
-
-
Usable_file_MB
-
当前真正能写入的空间
-
决定了归档、备份等能继续写入的容量
-
四、公式(HIGH 冗余)
Total_MB = 已分配文件占用 + Free_MB
Usable_file_MB = (Free_MB - Req_mir_free_MB) / 3
代入当前数据:
Free_MB = 4.82 TB
Req_mir_free_MB = 2.93 TB
Usable_file_MB = (4.82 - 2.93) / 3 ≈ 0.63 TB
五、直观示意图
Total_MB(8.79 TB)
├─ 已分配文件占用(实际镜像占用)≈ 4.22 TB
└─ Free_MB(逻辑空闲)≈ 4.82 TB
├─ Req_mir_free_MB(安全预留)≈ 2.93 TB
└─ Usable_file_MB(可用空间)≈ 0.63 TB
💡 理解总结:
-
已分配文件占用 4.22 TB,不在 Free_MB 或 Usable_file_MB
-
冗余预留 2.93 TB 平时不占用,可保证镜像安全
-
Usable_file_MB 0.63 TB 才是真正可写的空间