ORA-15032是汇总提示,真实错误需查后续ORA-xxxx;必须用GV$ASM_DISK全局视图定位节点级磁盘识别异常,重点检查inst_id、header_status和mode_status;权限修复须通过udev规则固化,同步配置所有RAC节点,并确保asm_diskstring覆盖实际路径且SPFILE一致。
ora-15032 不是独立错误,它只是个“汇总提示”,真正的问题藏在紧跟其后的那个 ora-xxxx 错误里——比如 ora-15075、ora-15031、ora-15063 或 ora-15411。直接改权限或重启实例大概率白忙。
查清到底是哪个节点、哪块盘没被识别(GV$ASM_DISK 是唯一可信来源)
别只在单节点跑 v$asm_disk,RAC 下必须用全局视图确认一致性:
- 在任意节点执行:
SELECT inst_id, path, header_status, mode_status, failgroup FROM GV$ASM_DISK WHERE path LIKE '%backup1p1%' OR path LIKE '%data06%'; - 重点看
inst_id列:如果某块盘只出现在 inst_id=1 的结果里,inst_id=2 没有记录,那问题就定位到节点2了 -
header_status为PROVISIONED或FORMER表示 ASM 没认出这是有效磁盘;CANDIDATE表示路径存在但未加入任何磁盘组;CACHED才是已挂载可用状态 - 如果某行
mode_status是MISSING,说明该节点上设备文件根本不可读——这时再查操作系统级权限才有意义
权限修复必须同步且固化(udev 规则比 chown 有效十倍)
手动 chown grid:oinstall /dev/mapper/backup1p1 只是临时补丁,设备重扫或重启后大概率失效。
- 所有 RAC 节点都要创建统一的 udev 规则文件:
/etc/udev/rules.d/99-asm-disk.rules - 内容写死设备名和属主,例如:
KERNEL=="mapper/backup1p1", OWNER="grid", GROUP="oinstall", MODE="0660" - 规则生效命令必须在每个节点都执行:
udevadm control --reload-rules && udevadm trigger --subsystem-match=block - 验证是否生效:
ls -l /dev/mapper/backup1p1看输出是否稳定为brw-rw---- 1 grid oinstall,且各节点完全一致 - 若用 ASMLib,还需在每台节点运行:
/etc/init.d/oracleasm configure并确认提示中选了y启用自启动和权限管理
检查 asm_diskstring 是否覆盖目标路径(show parameter asm_diskstring 不能只信默认值)
常见陷阱是磁盘路径在 /dev/oracleasm/disks/,但 asm_diskstring 却设成 /dev/mapper/* 或空值,导致 ASM 根本不扫描该目录。
- 执行:
SHOW PARAMETER asm_diskstring; - 如果返回为空或不匹配实际路径,立刻修改(需重启 ASM 实例):
ALTER SYSTEM SET asm_diskstring='/dev/oracleasm/disks/*' SCOPE=SPFILE; - 注意:修改后必须重启 ASM 实例,
ALTER SYSTEM不会热生效;且所有节点的 SPFILE 必须同步(RAC 下通常共用 OCR 或 ASM SPFILE) - 重启后再次查
GV$ASM_DISK,看之前缺失的盘是否已出现在所有inst_id下
遇到 ORA-15411 或 ORA-15410 时,别急着加隐藏参数
Oracle 19c 对 failure group 内磁盘数量/大小校验更严格,但启用 _asm_disable_failgroup_size_checking 属于绕过设计约束,后续升级或打补丁可能失效。
- 先确认是否真需要混用不同规格磁盘:比如新增
/dev/data06是为了扩容,但原 failure groupDATA001已有 3 块盘,新加第4块会触发 ORA-15411 - 更稳妥做法是新建 failure group:
ALTER DISKGROUP data ADD FAILGROUP DATA004 DISK '/dev/data06'; - 只有当业务强依赖“同 failure group 内混布不同 LUN”时,才考虑设置隐藏参数,且务必在
init.ora中显式声明并加注释说明原因 - 设置后必须验证:
SELECT failgroup, COUNT(*) FROM v$asm_disk GROUP BY failgroup;确保各组数量一致(或按预期允许不一致)
最易被忽略的是多路径设备 WWID 一致性——multipath -ll 输出的 WWID 在节点间不一致,会导致同一块物理盘被识别为两个不同设备,ASM 拒绝挂载。这个层面的问题,ls -l 和 chown 都无能为力。











