当前位置: 首页 > news >正文

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核对容量。

http://www.jsqmd.com/news/483932/

相关文章:

  • ARM Cortex‑M带U大介绍,内核都带啥U!
  • 算法工程中的内存访问模式优化研究的技术7
  • 古装微短剧《嘉庆君游台湾》开机 霍政谚全力以赴演绎永琰
  • XTUOJ众数(前缀和,窗口滑动)
  • 力扣算法刷题 Day 10
  • Spring框架(1):从入门到精通全解析
  • 知识点总结三
  • 传统芯片设计vs AI驱动:AI应用架构师的效率之战,选对路很重要
  • wwoshiAT caishao
  • Could not create connection to database server. Attempted reconnect 3 times. Giving up.
  • 基于嵌入式的数据库SQLite
  • Kingbase 彻底卸载+重装全流程(保姆级)
  • 深度学习-线性回归模型解析
  • lerobot中openpi0模型的processor示例
  • 基于SpringBoot的运动服装销售系统设计与实现
  • 大数据领域Spark的数据存储与读取方式
  • 忘记密码怎么办?教程来了!!!(包会)
  • 《Azul报告:62%的Java开发者已在写AI代码,这5个Java+AI实战场景你必须会》
  • PFM和FCCM的区别是什么?
  • 高效查重工具评测:9大方案助力论文质量提升
  • 3月16日直播丨面向新一代硬件,CANN技术架构的变与不变
  • 制造业信息化系统开发工程师 - 学习资料汇总
  • 智能化学术文献管理:六种AI驱动的论文自动引用生成策略
  • OpenClaw本地部署亲测分享
  • 【数据集】省级建成区绿化覆盖率数据(2006-2023年)
  • 2026年评价高的节能染色机厂家推荐:高温高压溢流染色机/低浴比高温喷射液流染色机精选厂家推荐 - 行业平台推荐
  • 微信小程序基础面试题(2)
  • 5-8能被3,5和7整除的数的个数(用集合实现)
  • 基于Python的旅游出行必备商城设计与实现毕业设计源码
  • 什么是Agent Skills,它和Tool以及MCP有什么区别?