Oracle Flex ASM架构下CRSD启动故障排查与修复
1. 问题现象与背景分析上周在客户现场遇到一个典型的Flex ASM环境故障Oracle Grid InfrastructureGI集群无法正常启动检查发现crsd进程未能成功拉起。这种故障在11g/12c的Flex ASM架构中并不罕见但排查过程往往让DBA们头疼。具体表现为CRS-4639: Could not contact Oracle High Availability Services CRS-4000: Command Start failed, or completed with errorsFlex ASM是Oracle 12c引入的新架构与传统ASM相比最大的区别在于解耦了ASM实例与数据库节点的绑定关系。这种架构下ASM实例可以运行在集群中的任意节点上而crsd作为集群资源服务守护进程其启动失败会直接导致整个GI堆栈无法正常工作。2. 故障排查步骤实录2.1 初始诊断三板斧首先执行标准检查流程# 检查集群状态 crsctl check cluster -all # 查看crsd日志 tail -500f $GRID_HOME/log/hostname/crsd/crsd.log # 检查OHASD状态 crsctl check has日志中关键报错如下[ohasd(27795)]CRS-2765:Resource ora.crsd has failed on server node1. [cssd(12351)]CRS-1713:CSSD daemon is started in exclusive mode2.2 深度分析工具使用使用Oracle提供的专用诊断工具进一步定位# 收集集群诊断信息 crsctl diagcollect -collect crs # 检查SCAN配置 srvctl config scan srvctl config scan_listener # 验证网络配置 oifcfg getif发现一个关键线索Flex ASM的监听器资源未能正确注册到集群中。这解释了为什么crsd在尝试管理ASM资源时卡死。3. 根本原因定位3.1 Flex ASM架构特性分析与传统ASM不同Flex ASM架构中ASM实例数量可以少于数据库节点数通常3个足够客户端连接通过SCAN监听器负载均衡ASM磁盘组需要配置CLIENT_COMPATIBILITY参数本次故障的根本原因是节点扩容后未正确更新ASM_DISKSTRING参数导致ASM实例无法识别新增的磁盘路径进而造成监听器注册失败最终触发crsd启动超时3.2 配置错误验证通过以下命令确认配置问题-- 检查ASM参数 SQL show parameter asm_diskstring -- 查看磁盘组兼容性 SQL select name, compatibility, database_compatibility from v$asm_diskgroup;结果显示asm_diskstring仍指向旧的磁盘路径而新增的NVMe磁盘未被包含。4. 解决方案实施4.1 分步修复流程首先停止所有相关资源crsctl stop res ora.asm -f crsctl stop has -f修正ASM磁盘路径ALTER SYSTEM SET asm_diskstring/dev/oracleasm/disks/*,/dev/nvme* SCOPESPFILE;更新磁盘组兼容性仅限Flex ASMALTER DISKGROUP DATA SET ATTRIBUTE client_compatibility12.2;重新初始化集群栈crsctl start has crsctl start crs4.2 关键参数验证修复后必须检查# 确认所有节点ASM实例正常 srvctl status asm -detail # 验证监听器注册 lsnrctl status LISTENER_SCAN1 # 检查资源状态 crsctl stat res -t5. 预防措施与最佳实践5.1 Flex ASM环境配置规范磁盘路径配置建议-- 多路径环境下示例 ASM_DISKSTRING/dev/mapper/*asm*,/dev/oracleasm/*兼容性设置原则磁盘组COMPATIBILITY 12.2CLIENT_COMPATIBILITY 数据库版本5.2 变更管理要点在Flex ASM环境中进行以下操作时需特别注意存储扩容或路径变更集群节点增减GI补丁应用网络配置调整建议操作流程预先检查asm_diskstring覆盖范围临时禁用集群自动启动执行变更后先单节点测试最后全集群滚动实施6. 深度问题排查技巧6.1 日志分析要点当遇到crsd启动问题时应按顺序检查$GRID_HOME/log/hostname/agent/ohasd/oraagent_oracle/oraagent_oracle.log$GRID_HOME/log/hostname/agent/ohasd/orarootagent_root/orarootagent_root.log$GRID_HOME/log/hostname/crsd/crsd.log重点关注时间戳衔接处通常第一个报错才是真实原因。6.2 常见错误代码速查错误代码可能原因解决方案CRS-2765资源依赖失败检查前置资源(ASM/监听)状态CRS-4639进程通信失败验证网络/SCAN配置CRS-4000通用启动失败查看对应资源日志CRS-2674启动超时调整启动超时参数7. 高级恢复手段当标准流程无法解决时可以尝试7.1 手动清理资源状态crsctl delete res ora.asm -f crsctl delete res ora.LISTENER_SCAN1.lsnr -f7.2 重建OCR备份crsctl replace ocr -force /path/to/backup7.3 使用root.sh修复cd $GRID_HOME ./perl/bin/perl -I$GRID_HOME/perl/lib $GRID_HOME/crs/install/rootcrs.pl -deconfig -force ./root.sh重要提示这些操作会导致服务中断务必在维护窗口期进行并提前备份OCR和VF

相关新闻

基于OpenCV的智能停车场管理系统设计与实现

基于OpenCV的智能停车场管理系统设计与实现

1. 项目背景与核心价值停车场智能管理系统是现代城市交通基础设施的重要组成部分。传统停车场管理依赖人工收费和车辆引导,存在效率低下、易出错等问题。基于计算机视觉的智能停车场解决方案,能够实现车牌识别、车位检测、自动计费等功能,大幅…

2026/7/25 5:54:40 阅读更多 →
基于YOLOv5改进的水果分拣算法:提升农业自动化效率

基于YOLOv5改进的水果分拣算法:提升农业自动化效率

1. 项目背景与核心价值水果分拣是农业生产和食品加工中的关键环节。传统人工分拣方式效率低下且容易受主观因素影响,而基于计算机视觉的自动化检测技术正在改变这一现状。我们团队针对果园复杂环境下的多目标果实检测需求,开发了一套基于YOLOv5的改进型检…

2026/7/25 5:54:40 阅读更多 →
深度学习进阶(二十九)现代 LLM 的核心架构设计其四:GQA

深度学习进阶(二十九)现代 LLM 的核心架构设计其四:GQA

深度学习进阶(二十九)现代 LLM 的核心架构设计其四:GQA 引言:从 MHA 到 GQA 的演进在现代大型语言模型(LLM)中,注意力机制是核心组件之一。传统的多头注意力(Multi-Head Attention, …

2026/7/25 5:53:40 阅读更多 →

最新新闻

Unity ECS场景切换时System默认启动问题解决方案

Unity ECS场景切换时System默认启动问题解决方案

1. 问题现象与核心痛点最近在做一个Unity项目,用上了ECS框架,本来想着能靠这套数据驱动、面向数据的架构把性能优化一下,结果踩了个不大不小的坑。具体表现是:我在一个叫GameScene的场景里,写了一个专门处理玩家输入和…

2026/7/25 6:09:46 阅读更多 →
Python爬虫实战:三步实现手机号关联QQ号查询工具

Python爬虫实战:三步实现手机号关联QQ号查询工具

1. 项目概述与核心需求解析最近在整理旧手机通讯录时,发现很多联系人只存了手机号,但微信、QQ等社交账号早就失联了。特别是QQ,作为一代人的青春记忆,承载了太多老同学、老朋友的联系。有没有办法通过一个已知的手机号&#xff0c…

2026/7/25 6:09:46 阅读更多 →
微信小程序开发实战:从零构建天气查询应用的全流程解析

微信小程序开发实战:从零构建天气查询应用的全流程解析

1. 项目概述:一个天气查询小程序的诞生记最近刚交付了一个天气查询小程序的项目,趁着记忆还热乎,把整个从构思到上线的过程复盘一下。这不仅仅是一个简单的“查温度”工具,它更像是一个微型的、服务特定场景的“生活助理”。用户打…

2026/7/25 6:09:46 阅读更多 →
C++11基于范围的for循环:原理、应用与性能优化详解

C++11基于范围的for循环:原理、应用与性能优化详解

1. 项目概述:为什么我们需要基于范围的for循环?如果你写过C98/03时代的代码,对容器进行遍历多半是这样的场景:先声明一个迭代器,然后在for循环里小心翼翼地写对begin()和end(),最后通过解引用迭代器来访问元…

2026/7/25 6:09:46 阅读更多 →
C++编程语言演进与核心特性解析:从基础语法到现代实践

C++编程语言演进与核心特性解析:从基础语法到现代实践

1. 从“带类的C”到现代编程基石:C的演进之路如果你在搜索引擎里敲下“C”,大概率会看到一堆“C面试题”、“C八股文”或者“vscode配置c环境”这样的词条。这恰恰说明了两个事实:第一,C依然是技术面试和系统开发中绕不开的硬通货…

2026/7/25 6:09:46 阅读更多 →
基于YOLO的夜间车辆检测系统优化与实践

基于YOLO的夜间车辆检测系统优化与实践

1. 项目背景与核心价值夜间行车安全一直是交通管理领域的重点难点问题。传统基于可见光摄像头的车辆检测系统在低照度环境下表现不佳,容易出现漏检和误检。这个项目采用YOLO系列算法构建的夜间车辆检测系统,通过算法优化和工程化部署,实现了在…

2026/7/25 6:08:45 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 5:08:22 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 5:13:53 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻