news 2026/8/15 2:03:48

Every Day of a DBA,第123期: ASM 磁盘发现oracleasm-discover

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Every Day of a DBA,第123期: ASM 磁盘发现oracleasm-discover

没细看,突然发现了这个好用的命令。

一、环境基础信息

详情
操作系统Oracle Linux 6 (oel6)
ASMLib 版本oracleasmlib-2.0.12-1.el6.x86_64、oracleasm-support-2.1.8-1.el6.x86_64
ASM 驱动版本kmod-oracleasm-2.0.8-15.el6_9.x86_64
ASMLib 核心库/opt/oracle/extapi/64/asm/orcl/1/libasm.so

二、命令完整解析

1. 基础执行与输出解读

[root@sljj01 oel6]# oracleasm-discover
输出核心信息解读
Using ASMLib from /opt/oracle/extapi/64/asm/orcl/1/libasm.so # 加载的ASMLib核心库路径 [ASM Library - Generic Linux, version 2.0.12 (KABI_V2)] # ASMLib版本与内核ABI兼容版本 Discovered disk: ORCL:DATA0 [976562560 blocks (500000030720 bytes), maxio 256, integrity none] # 字段解析: # ORCL:DATA0 → ASM磁盘标识(格式:<ASM实例名>:<磁盘别名>) # 976562560 blocks → 磁盘总块数(1 block=512字节,约500GB) # 500000030720 bytes → 磁盘总容量(500GB) # maxio 256 → 最大I/O块大小(256KB) # integrity none → 未启用ASM磁盘完整性校验
(1)无参数执行(默认)
  • 作用:扫描所有已注册的 ASM 磁盘,输出完整磁盘信息(容量、I/O配置、完整性等);

  • 适用场景:快速核对已配置的 ASM 磁盘列表、容量是否符合预期。

(2)扩展扫描参数(隐藏参数,适用于你的环境)
# 扫描指定ASM磁盘(如仅查看DATA类磁盘) [root@sljj01 oel6]# oracleasm-discover -v ORCL:DATA* # -v → 详细输出,包含磁盘物理路径、权限、所属组 # ORCL:DATA* → 通配符匹配DATA前缀的ASM磁盘
典型输出(扩展扫描)
Using ASMLib from /opt/oracle/extapi/64/asm/orcl/1/libasm.so [ASM Library - Generic Linux, version 2.0.12 (KABI_V2)] Verbose discover for ORCL:DATA* Discovered disk: ORCL:DATA0 Path: /dev/oracleasm/disks/DATA0 Owner: grid:oinstall Permissions: 660 Size: 500000030720 bytes (500GB) Max I/O: 256KB Integrity: None Status: Online

三、实战应用

1. RAC节点磁盘一致性校验

# 节点1 [root@sljj01 oel6]# oracleasm-discover > /tmp/asm_discover_node1.log # 节点2 [root@sljj02 oel6]# oracleasm-discover > /tmp/asm_discover_node2.log # 对比结果 [root@sljj01 oel6]# scp root@sljj02:/tmp/asm_discover_node2.log /tmp/ [root@sljj01 oel6]# diff /tmp/asm_discover_node1.log /tmp/asm_discover_node2.log
校验标准(必须满足)
  • 所有节点扫描出的磁盘列表完全一致(数量、名称、容量);

  • 无缺失磁盘(如某节点缺少 ORCL:FRA5);

  • 无容量/参数不一致(如同一磁盘在不同节点显示容量不同)。

2. 新增ASM磁盘后的验证(以新增DATA5为例)

步骤1:存储侧映射新磁盘到所有节点
步骤2:扫描并确认新磁盘被识别
[root@sljj01 oel6]# oracleasm-discover | grep DATA5 # 预期输出: # Discovered disk: ORCL:DATA5 [976562560 blocks (500000030720 bytes), maxio 256, integrity none]
步骤3:ASM实例中验证
[grid@sljj01 ~]$ sqlplus / as sysasm SQL> select path, name, state from v$asm_disk where name='DATA5'; # 预期输出: # PATH NAME STATE # ------------------- ------ ------- # ORCL:DATA5 DATA5 CANDIDATE

3. 故障排查

场景1:某磁盘在oracleasm-discover中显示但ASM实例未识别
# 1. 检查ASM_DISKSTRING参数(是否包含ORCL:*) [grid@sljj01 ~]$ sqlplus / as sysasm SQL> show parameter asm_diskstring; # 预期值:ORCL:*(匹配你的磁盘标识格式) ​ # 2. 重启ASM驱动(所有节点) [root@sljj01 oel6]# oracleasm restart ​ # 3. 重新扫描ASM磁盘 [grid@sljj01 ~]$ sqlplus / as sysasm SQL> alter system set asm_diskstring='ORCL:*' scope=spfile; SQL> shutdown immediate; SQL> startup; SQL> select name from v$asm_disk where path like 'ORCL:DATA%';
场景2:磁盘容量显示异常
  • 原因:存储侧未正确映射磁盘、ASM磁盘分区大小错误;

  • 解决:

    1. 存储侧核对磁盘容量并重新映射;

    2. 执行oracleasm deletedisk ORCL:FRA8删除错误磁盘;

    3. 重新创建ASM磁盘:oracleasm createdisk ORCL:FRA8 /dev/mapper/mpath_fra8

    4. 再次执行oracleasm-discover核对容量。

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

Spring框架(1):从入门到精通全解析

一. Spring概述1.1 Spring是什么Spring是一个分层的Java SE/EE full-stack&#xff08;一站式,指的是它能够为Java应用提供从表现层&#xff08;前端&#xff09;到持久层&#xff08;数据库&#xff09;的完整解决方案&#xff09;轻量级开源框架&#xff0c;以 IOC&#xff0…

作者头像 李华
网站建设 2026/7/14 15:59:36

184万亿资管规模背后:基金业的海量复杂文档,终于等来AI解法

截至2025年末&#xff0c;我国资产管理行业整体规模达184.53万亿元&#xff0c;其中&#xff0c;公募基金规模较上年末增长14.89%&#xff0c;私募基金较上年末增长11.25%。基金业务面临着投资策略日趋复杂&#xff0c;监管要求持续细化&#xff0c;业务量呈指数级增长等多重挑…

作者头像 李华
网站建设 2026/7/14 15:59:38

Linuex操作系统优化

1.关闭防火墙2.关闭强制安全访问输入vim /etc/selinux/config&#xff0c;进入只读模式将Eforcing改成disabled状态&#xff0c;修改完毕后按shift&#xff0c;打出wq保存退出用getenforce查看当前是什么状态3.Xshell方法1&#xff1a; 对方的账户名对方的ip地址输入ssh root…

作者头像 李华
网站建设 2026/7/14 15:59:48

微信接入龙虾了!5分钟配好,直接发微信聊

龙虾刚火那会儿&#xff0c;我们就写过一篇安装教程怎么用上一夜爆火的 Clawdbot&#xff0c;详细配置教程。但对于普通用户说&#xff0c;还是太难了。 现在五花八门的龙虾安装太多&#xff0c;暂且先放一放。因为—— 微信现在可以接入龙虾了&#xff0c;发微信就能和 &…

作者头像 李华
网站建设 2026/7/14 15:59:50

(6)LeetCode.42 接雨水

LeetCode.42 接雨水 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6方法一&#xff1a;前缀最大值 后…

作者头像 李华
网站建设 2026/7/14 15:59:50

汽车通信高级讲解:KWP2000协议深度分析

1 引言 随着汽车电子控制单元(ECU)数量的激增,车载诊断系统(OBD)已成为车辆维护和排放控制的核心组成部分。为了实现诊断设备与ECU之间的标准化数据交换,各大汽车制造商和标准化组织制定了一系列通信协议。其中,在欧洲汽车领域占据主导地位的便是KWP2000(Keyword Prot…

作者头像 李华