_ASM兼容性应设为所有挂载节点最低GI版本,如存在12.1实例则最高设12.1;AU_SIZE需匹配IO模式与存储类型,OLTP用1MB、DW用4MB;条带由冗余模式和failure group自动实现,非参数控制;修改属性不触发rebalance,但后续磁盘变更会以新属性强制重平衡。
ASM磁盘组的 _COMPATIBLE.ASM 到底设多少才安全
设高了会锁死升级路径,设低了又用不了新特性——关键不是“推荐值”,而是你当前 grid infrastructure 版本能支撑的上限。比如 19c gi 默认支持 _compatible.asm=19.0,但如果你磁盘组里还有 12.1 的 asm 实例在挂载,那就只能卡在 12.1,否则启动失败。
常见错误现象:ORA-15032: not all alterations performed + ORA-15237: ASM operation failed with error 48,基本就是版本不兼容导致属性写入被拒。
-
_COMPATIBLE.ASM是单向递增的,改完不能回退,改之前务必确认所有节点 GI 版本一致且已打齐 PSU - 生产环境建议比最低 GI 版本高一级(如 GI 是 19.20,设为
19.0而非19.20),留出补丁缓冲空间 - 查询当前值:
SELECT name, compatibility FROM v$asm_diskgroup WHERE name = 'DG_DATA';
AU_SIZE 不是越大越好,得看你的 I/O 模式和磁盘类型
默认 1MB 在全闪存环境下常浪费空间,而机械盘上设成 4MB 反而加剧小 IO 拆分。AU 是 ASM 分配和镜像的最小单位,直接影响 extent 切分、rebalance 效率和内存开销。
使用场景差异明显:OLTP 系统大量 8KB 随机读写,AU_SIZE=1M 就够用;数据仓库做大批量直通加载,AU_SIZE=4M 能减少 metadata 压力和 extent 碎片。
- 一旦创建磁盘组,
AU_SIZE无法修改,重建代价极高 - 19c 开始支持
AU_SIZE=2M和4M,但需确认底层存储是否对齐(比如 NVMe 设备 LBA 大小是否匹配) - 检查实际 AU 使用率:
SELECT group_number, allocation_unit_size FROM v$asm_diskgroup;
条带化(Striping)不是靠参数开关,而是由 ASM 冗余模式和文件类型共同决定
很多人以为调个 ATTRIBUTE 'stripe'='coarse' 就能控制条带行为,其实 ASM 没有这个属性。所谓条带,是 ASM 自动把文件切分成 AU 后,按冗余级别(NORMAL/ HIGH/ FLEX)分散到不同 failure group 的结果。
容易踩的坑:把多个 LUN 映射到同一物理阵列却没划分 failure group,导致“逻辑条带”实际落在同一控制器上,IO 瓶颈照旧。
- 条带粒度固定为 AU,无法单独配置;coarse / fine 条带只存在于客户端工具(如 ADVM)或 Oracle 文件类型定义中
- 新建磁盘组时必须显式指定
FAILGROUP,否则所有 disk 默认归入同一 failure group,等于没条带 - 验证条带效果:查
v$asm_file的striped列(仅限 12c+),再结合v$asm_alias关联物理分布
磁盘组属性修改后,哪些操作会隐式触发 rebalance
改 _COMPATIBLE.ASM 或 AU_SIZE 本身不触发 rebalance,但后续任何 add/drop disk、resize disk、failgroup 变更都会强制 rebalance——而且是以新属性为准重排所有 AU。
性能影响很实在:一个 10TB 的 NORMAL 冗余磁盘组,在 AU_SIZE=4M 下 rebalance 时间可能比 1M 多出 3 倍,因为每个 AU 移动的数据量翻了四倍。
- 避免在业务高峰期执行
ALTER DISKGROUP ... ADD DISK,尤其当磁盘组刚改过兼容性或 AU 大小 - 用
POWER_LIMIT限速:ALTER DISKGROUP dg_data REBALANCE POWER 1;,默认是 11,太高容易拖垮 IO - 监控进度别只看
v$asm_operation,还得盯v$asm_disk_iostat的 write_bytes/sec 是否持续高位
最麻烦的是,这些属性组合起来会产生叠加效应:比如 _COMPATIBLE.ASM=19.0 + AU_SIZE=4M + 新增 failure group,一次 rebalance 可能跑两天,中间还不能停库。提前算好窗口期,比事后调优重要得多。










