news 2026/5/28 17:57:26

asmcmd lsdg 输出指标解读,相关指标计算方式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
asmcmd lsdg 输出指标解读,相关指标计算方式

================================================================================
典型输出示例
================================================================================

State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED NORMAL N 512 512 4096 1048576 6144000 3072000 1024000 1024000 0 N DATA
MOUNTED HIGH N 512 512 4096 1048576 15360000 7680000 2048000 1877333 0 Y OCR
MOUNTED EXTERN N 512 512 4096 1048576 2048000 1024000 0 1024000 0 N FRA

================================================================================


【一、ASM 冗余级别总览】

冗余级别 默认镜像方式 最小 FG 数 可容忍故障数 可用空间比例
--------------------------------------------------------------------------------
EXTERNAL 无镜像 1 0 (依赖外部RAID) 100%
NORMAL 双镜像 (2-way) 2 1 个 FG 故障 ≈ 50%
HIGH 三镜像 (3-way) 3 2 个 FG 故障 ≈ 33.3%
FLEX 可自定义 3 (至少) 取决于设置 取决于设置
EXTENDED 双镜像 (站点级) 3 (每站≥1) 1个站点或1个FG 取决于设置

================================================================================

【二、lsdg / V$ASM_DISKGROUP 指标详解】

┌──────────────────┬────────┬────────────────────────────────────────────────────┐ │ 参数名 │ 示例值 │ 含义详解 │ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ State │ MOUNTED│ 磁盘组状态: │ │ │ │ • MOUNTED — 已挂载,可被数据库实例访问 │ │ │ │ • DISMOUNTED — 已卸载,不可访问 │ │ │ │ • QUIESCING — 正在静默(即将卸载) │ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ Type │ NORMAL │ 冗余级别: │ │ │ │ • EXTERNAL — 无镜像,依赖外部 RAID(可用空间100%) │ │ │ │ • NORMAL — 双路镜像 2-way mirror(可用空间≈50%) │ │ │ │ • HIGH — 三路镜像 3-way mirror(可用空间≈33%) │ │ │ │ • FLEX — 灵活冗余(可自定义文件级冗余) │ │ │ │ • EXTENDED — 扩展冗余(跨站点双镜像) │ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ Rebal │ N │ 重平衡状态: │ │ │ │ • N — 未进行重平衡 │ │ │ │ • Y — 正在进行重平衡(添加/删除磁盘后 ASM 自动迁移 │ │ │ │ 数据以均匀分布,期间 IO 性能可能下降) │ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ Sector │ 512 │ 物理扇区大小(字节)。现代磁盘常见 512 或 4096。 │ │ │ │ 决定磁盘底层 IO 对齐方式。 │ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ Logical_Sector │ 512 │ 逻辑扇区大小(字节)。 │ │ │ │ 若 Logical_Sector > Sector,表示磁盘支持 512e/4Kn │ │ │ │ 高级格式,ASM 按逻辑扇区进行寻址。 │ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ Block │ 4096 │ ASM 元数据块大小(字节),默认 4KB。 │ │ │ │ 用于存储磁盘组目录、文件目录、区映射等元数据。 │ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ AU │ 1048576│ Allocation Unit 分配单元大小(字节),默认 1MB。 │ │ │ │ ASM 分配空间的最小单位,直接影响条带化和性能。 │ │ │ │ 可选值:1MB / 2MB / 4MB / 8MB / 16MB / 32MB / 64MB│ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ Total_MB │ 6144000│ 磁盘组所有磁盘的总物理容量(MB)。 │ │ │ │ 已扣除约 1% 的磁盘头开销(ASM 头信息、元数据预留)。│ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ Free_MB │ 3072000│ 磁盘组当前完全空闲的物理容量(MB)。 │ │ │ │ ⚠️ 此值未考虑冗余镜像,不能直接等同于可创建文件大小。 │ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ Req_mir_free_MB │ 1024000│ Required Mirror Free MB — 恢复全冗余所需预留空间。 │ │ │ │ │ │ │ │ 计算逻辑: │ │ │ │ • EXTERNAL: 0 │ │ │ │ • NORMAL(2FG): MAX(单盘容量) │ │ │ │ • NORMAL(>2FG): MAX(FG总容量) │ │ │ │ • HIGH(3FG): 2 × MAX(单盘容量) │ │ │ │ • HIGH(>3FG): 2 × MAX(FG总容量) │ │ │ │ │ │ │ │ 用途:当某个 FailGroup 整体故障时,ASM 需要利用此 │ │ │ │ 预留空间在其他 FG 上重建镜像副本,确保冗余恢复。 │ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ Usable_file_MB │ 1024000│ 实际可用于创建用户文件的空间(MB)。 │ │ │ │ │ │ │ │ 计算公式: │ │ │ │ Usable_file_MB = (Free_MB - Req_mir_free_MB) │ │ │ │ / Mirror_Coefficient │ │ │ │ │ │ │ │ Mirror_Coefficient: NORMAL=2, HIGH=3, EXTERNAL=1 │ │ │ │ │ │ │ │ ⚠️ 若此值为负数:说明 Free_MB < Req_mir_free_MB, │ │ │ │ 空闲空间已不足以应对 FG 故障后的冗余重建,需立即扩容!│ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ Offline_disks │ 0 │ 当前处于 OFFLINE 状态的磁盘数量。 │ │ │ │ • 0 — 所有磁盘正常在线 │ │ │ │ • >0 — 有磁盘离线,需尽快排查修复,否则冗余降级 │ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ Voting_files │ N │ 是否包含 Clusterware Voting(投票)文件: │ │ │ │ • Y — 包含,此磁盘组用于存储 OCR/Voting 文件 │ │ │ │ • N — 不包含普通数据库数据文件 │ │ │ │ Voting 文件对集群脑裂仲裁至关重要。 │ ├──────────────────┼────────┼────────────────────────────────────────────────────┤ │ Name │ DATA │ 磁盘组名称。创建时指定,如 DATA / FRA / RECO 等。 │ └──────────────────┴────────┴────────────────────────────────────────────────────┘

【三、核心计算公式】

1. 基础公式(通用)
--------------------------------------------------------------------------------
Usable_file_MB = (Free_MB - Req_mir_free_MB) / Mirror_Coefficient

Mirror_Coefficient(镜像系数):
EXTERNAL = 1
NORMAL = 2
HIGH = 3

2. Req_mir_free_MB 计算逻辑(Oracle 官方规则)
--------------------------------------------------------------------------------

【NORMAL 冗余 — 双镜像,可容忍 1 个 FG 故障】

FG 数量 Req_mir_free_MB 公式 原理说明 ------------------------------------------------------------------------ = 2 MAX(单个磁盘大小) 仅2个FG时,预留等于 最大单盘容量,用于单盘 故障后在幸存FG内重建镜像 > 2 MAX(单个 Failure Group 的总容量) ≥3个FG时,预留等于最大 FG总容量,用于整个FG故障 后向其他FG重建数据

【HIGH 冗余 — 三镜像,可容忍 2 个 FG 故障】

FG 数量 Req_mir_free_MB 公式 原理说明 ------------------------------------------------------------------------ = 3 2 × MAX(单个磁盘大小) 仅3个FG时,预留等于两 个最大单盘容量之和 > 3 2 × MAX(单个 Failure Group 的总容量) ≥4个FG时,预留等于两个 最大FG容量之和,确保任意 两个FG同时故障后可重建

【EXTERNAL 冗余】

Req_mir_free_MB = 0

3. 有效可用空间(不考虑故障恢复预留)
--------------------------------------------------------------------------------
实际可用空间(裸) = Free_MB / Mirror_Coefficient

================================================================================

【四、NORMAL 冗余:2个 FG vs 3个 FG 深度对比】

================================================================================

场景:6 块 1TB 磁盘,全部空闲 ┌─────────────────────────────────────────────────────────────────────────┐ │ 配置 A:2 个 FailGroup(每 FG 3 块盘) │ │ │ │ FailGroup_A: 磁盘1(1TB) + 磁盘2(1TB) + 磁盘3(1TB) = 3TB │ │ FailGroup_B: 磁盘4(1TB) + 磁盘5(1TB) + 磁盘6(1TB) = 3TB │ │ │ │ Total_MB = 6TB ≈ 6,144,000 MB │ │ Free_MB = 6,144,000 MB │ │ Req_mir_free_MB = MAX(单个磁盘大小) = 1TB ≈ 1,048,576 MB │ │ │ │ Usable_file_MB = (6,144,000 - 1,048,576) / 2 = 2,547,712 MB ≈ 2.43TB │ └─────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────────────────┐ │ 配置 B:3 个 FailGroup(每 FG 2 块盘) │ │ │ │ FailGroup_A: 磁盘1(1TB) + 磁盘2(1TB) = 2TB │ │ FailGroup_B: 磁盘3(1TB) + 磁盘4(1TB) = 2TB │ │ FailGroup_C: 磁盘5(1TB) + 磁盘6(1TB) = 2TB │ │ │ │ Total_MB = 6TB ≈ 6,144,000 MB │ │ Free_MB = 6,144,000 MB │ │ Req_mir_free_MB = MAX(FG总容量) = 2TB ≈ 2,048,000 MB │ │ │ │ Usable_file_MB = (6,144,000 - 2,048,000) / 2 = 2,048,000 MB ≈ 2TB │ └─────────────────────────────────────────────────────────────────────────┘ 对比结论: ┌──────────────┬───────────────┬───────────────┬──────────────────────────┐ │ 指标 │ 2个FG(每FG3盘)│ 3个FG(每FG2盘)│ 差异 │ ├──────────────┼───────────────┼───────────────┼──────────────────────────┤ │ Total_MB │ ~6TB │ ~6TB │ 相同 │ │ Req_mir_free │ ~1TB │ ~2TB │ 3FG预留更大(按FG总容量)│ │ Usable_file │ ~2.43TB │ ~2TB │ 2FG可用更多(按单盘计算)│ │ 故障容忍 │ 1个FG │ 1个FG │ 相同 │ │ 数据分布 │ 一般 │ 更好 │ 3FG更均匀 │ └──────────────┴───────────────┴───────────────┴──────────────────────────┘ 关键结论: • 2个FG时按"最大单盘"计算预留,3个FG时按"最大FG总容量"计算 • 增加FG数量会改变 Req_mir_free_MB 的计算维度(从单盘→FG总容量) • 更多FG带来更好的数据分布和重平衡性能,但可能增加预留空间

【五、HIGH 冗余:3个 FG vs 5个 FG 深度对比】

================================================================================

场景:15 块 1TB 磁盘,全部空闲 ┌─────────────────────────────────────────────────────────────────────────┐ │ 配置 A:3 个 FailGroup(每 FG 5 块盘) │ │ │ │ FailGroup_A: 5块盘 = 5TB FailGroup_B: 5块盘 = 5TB │ │ FailGroup_C: 5块盘 = 5TB │ │ │ │ Total_MB = 15TB ≈ 15,360,000 MB │ │ Free_MB = 15,360,000 MB │ │ Req_mir_free_MB = 2 × MAX(单个磁盘大小) = 2TB ≈ 2,048,000 MB │ │ │ │ Usable_file_MB = (15,360,000 - 2,048,000) / 3 = 4,437,333 MB ≈ 4.23TB│ └─────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────────────────┐ │ 配置 B:5 个 FailGroup(每 FG 3 块盘) │ │ │ │ FailGroup_A: 3TB FailGroup_B: 3TB FailGroup_C: 3TB │ │ FailGroup_D: 3TB FailGroup_E: 3TB │ │ │ │ Total_MB = 15TB ≈ 15,360,000 MB │ │ Free_MB = 15,360,000 MB │ │ Req_mir_free_MB = 2 × MAX(FG总容量) = 6TB ≈ 6,144,000 MB │ │ │ │ Usable_file_MB = (15,360,000 - 6,144,000) / 3 = 3,072,000 MB ≈ 3TB │ └─────────────────────────────────────────────────────────────────────────┘ 对比结论: ┌──────────────┬───────────────┬───────────────┬──────────────────────────┐ │ 指标 │ 3个FG(每FG5盘)│ 5个FG(每FG3盘)│ 差异 │ ├──────────────┼───────────────┼───────────────┼──────────────────────────┤ │ Total_MB │ ~15TB │ ~15TB │ 相同 │ │ Req_mir_free │ ~2TB │ ~6TB │ 5FG预留更大(按FG总容量)│ │ Usable_file │ ~4.23TB │ ~3TB │ 3FG可用更多(按单盘计算)│ │ 故障容忍 │ 2个FG │ 2个FG │ 相同 │ │ 数据分布 │ 一般 │ 更好 │ 5FG更均匀 │ └──────────────┴───────────────┴───────────────┴──────────────────────────┘ 关键结论: • 3个FG时按"2×最大单盘"计算预留,>3个FG时按"2×最大FG总容量"计算 • FG数量增加会改变计算维度,可能增加 Req_mir_free_MB • 设计时应权衡:更多FG带来更好的分布和故障隔离,但可能减少可用空间

【六、Exadata 平台特殊规则】

在 Exadata 平台上,Req_mir_free_MB 采用固定比例计算,覆盖上述常规逻辑:

ASM 版本 FG 数量 < 5 FG 数量 ≥ 5
─────────────────────────────────────────────────────────
12.2 / 18c+ TOTAL_MB × 15% TOTAL_MB × 9%
其他版本 TOTAL_MB × 15% TOTAL_MB × 15%

================================================================================

【七、Voting 文件与 FailGroup 关系】

冗余级别 最小磁盘数 Voting文件数 OCR副本数 FailGroup 要求 -------------------------------------------------------------------------------- EXTERNAL 1 1 1 无特殊要求 NORMAL 3 3 2 2 Regular + 1 Quorum HIGH 5 5 3 3 Regular + 2 Quorum

注意:Quorum FailGroup 仅存储 Voting 文件,不参与用户数据冗余计算。

================================================================================

【八、Usable_file_MB 为负数的含义与处理】

当 Free_MB ≤ Req_mir_free_MB 时,Usable_file_MB 将为零或负数。

含义:
• 当前空闲空间不足以在发生 FG 故障后恢复全冗余
• 若此时再发生 FG 故障,部分文件将处于"降低冗余"状态
• 数据完整性面临风险

处理建议:
1. 立即添加新磁盘或扩容现有磁盘
2. 检查是否有异常增长的大文件
3. 评估是否需要调整冗余级别或 FG 分布

================================================================================

【九、运维快速查询命令】

-- 1. 查看所有磁盘组容量指标
SELECT
name,
type,
state,
total_mb/1024 AS total_gb,
free_mb/1024 AS free_gb,
required_mirror_free_mb/1024 AS req_mir_free_gb,
usable_file_mb/1024 AS usable_file_gb,
decode(sign(usable_file_mb),1,'充足',0,'临界',-1,'告警','未知') AS status
FROM v$asm_diskgroup;

-- 2. 查看 FailGroup 详情与容量分布
SELECT
dg.name AS diskgroup,
d.failgroup,
COUNT(*) AS disk_count,
SUM(d.total_mb)/1024 AS fg_total_gb,
SUM(d.free_mb)/1024 AS fg_free_gb
FROM v$asm_disk d
JOIN v$asm_diskgroup dg ON d.group_number = dg.group_number
WHERE d.state = 'NORMAL'
GROUP BY dg.name, d.failgroup
ORDER BY dg.name, fg_total_gb DESC;

-- 3. 查看磁盘详情
SELECT
name,
path,
failgroup,
total_mb/1024 AS total_gb,
free_mb/1024 AS free_gb,
ROUND(free_mb/total_mb*100,2) AS free_pct
FROM v$asm_disk
WHERE state = 'NORMAL'
ORDER BY failgroup, total_mb DESC;

-- 4. 查看 ASM 磁盘组参数
SELECT
name,
type,
allocation_unit_size/1024/1024 AS au_mb,
sector_size,
block_size,
compatibility,
database_compatibility
FROM v$asm_diskgroup;

================================================================================

【十、设计建议与最佳实践】

1. FailGroup 规划原则
• 同一 FG 内的磁盘应共享同一故障域(同一存储柜、同一控制器、同一电源)
• 不同 FG 的磁盘应分布在独立的故障域中
• 各 FG 容量应尽量相等,避免某个 FG 过大导致预留空间虚高

2. 冗余级别选择
• EXTERNAL:有外部 RAID 保护的非核心数据,最大化空间利用率
• NORMAL:大多数生产环境的标准选择,平衡成本与保护
• HIGH:核心交易、金融级数据,可容忍双 FG 同时故障

3. 容量监控
• 定期监控 Usable_file_MB,确保 > 0
• 设置告警阈值:当 Usable_file_MB < 总容量 10% 时预警
• 扩容前计算新增磁盘对 Req_mir_free_MB 和 Usable_file_MB 的影响

4. Exadata 注意事项
• 12.2+ 且 FG ≥ 5 时,预留比例从 15% 降至 9%,可显著增加可用空间
• 充分利用这一特性,在 Exadata 上建议配置 ≥ 5 个 FG

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/21 22:33:17

Linux 进程从入门到实战(一)

.个人主页&#xff1a;晓风飞专栏&#xff1a;数据结构|Linux|C语言路漫漫其修远兮&#xff0c;吾将上下而求索文章目录进程为什么要存在内存&#xff1f;&#xff1f;操作系统进程什么是进程&#xff1f;PCB&#xff08;进程控制块&#xff09;操作系统如何管理进程&#xff1…

作者头像 李华
网站建设 2026/5/25 7:23:36

【Linux】网络基础2---Socket编程预备

&#x1f4cc; 相关专栏 【Linux专栏】【C语言专栏】【测试专栏】 上期回顾【Linux 】网络基础1 文章目录1. 理解源IP地址和目的IP地址2. 认识端口2.1端口号范围划分2.2 理解 "端⼝号" 和 "进程ID"2.3 源端口号与目的端口号2.4 理解Socket2. 传输层的典型代…

作者头像 李华
网站建设 2026/5/24 5:45:08

C#笔记正课十九

1、添加资源通过Resources.resx打开资源管理器&#xff0c;选择加载资源的类型、路径和存储为。通过这种方式可以将外部资源复制一个作为内部资源。使用代码来调用图片资源private void Form1_Load(object sender, EventArgs e) {//接收资源文件Bitmap photo Properties.Resou…

作者头像 李华
网站建设 2026/5/21 22:24:10

【软考高级架构】案例题考前突击——构建可观测与弹性服务架构的实践设计

案例分析题:构建可观测与弹性服务架构的实践设计 案例背景 某金融科技公司搭建了基于Spring Cloud 的微服务系统,用于支撑其多租户 SaaS 金融平台,核心功能包括用户管理、交易撮合、支付结算、风控审计等模块。由于业务快速扩张、团队并行开发,系统逐渐暴露出如下痛点: …

作者头像 李华
网站建设 2026/5/25 10:16:06

VR全景软件选型:标准版旗舰版企业版真的选对了吗

VR全景软件选型&#xff1a;标准版旗舰版企业版真的选对了吗720云年费太贵&#xff1f;选一款vr全景软件买断制更划算很多人在选vr全景软件的时候会有一个心态&#xff1a;买最贵的肯定没错。 不一定。 VR精灵作为一款主流的vr全景离线制作软件&#xff0c;三个版本定位完全不同…

作者头像 李华