网站首页 > 技术文章 正文
系统Oracle数据库集群节点启动失败故障处理案例
前言
在oracle运维中经常会遇到各种故障,很多初中级dba遇到故障时都不知道该怎么处理,尤其在面对oracle RAC故障时更加束手无策,其实集群故障不可怕,只要掌握处理问题的思路,问题就迎刃而解。本次分享一个oracle数据库集群故障处理的真实案例,希望通过此故障案例分享,能给相关从业人员在处理类似故障时带来一些启发。
故障情况描述
开发人员邮件报障:云平台一套RAC数据库节点一启动失败,报错信息为:
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DATA/wxdorcl/spfilewxdorcl.ora'
ORA-17503: ksfdopn:2 Failed to open file +DATA/wxdorcl/spfilewxdorcl.ora
ORA-29701: unable to connect to Cluster Synchronization Service
故障处理情况
1)描述云平台一套RAC数据库集群节点一启动失败,节点二运行正常,暂不影响业务正常运行,需对故障节点进行修复。
2)通过远程登录到现场RAC服务器节点二,检查集群状态及集群资源信息,发现节点二数据库实例在启动状态,CRSD进程连接异常,集群CRSD服务丢失,检查无节点一集群信息。
3)在节点二对数据及OCR进行备份,强制重启CRS服务后恢复正常。
4)登录节点一服务器查看集群信息及状态,OHASD进程异常。
5)检查节点一系统日志,在7月11日的09:45分系统登录还在正常状态,到09:46:04用户切换出现异常,09:48分系统开始重启。
6)继续检查数据库日志并未看到有驱逐节点的信息,而节点一在7月11日9点48分左右重启,怀疑是在未正常停库情况下重启了系统,节点一报网络错误,OCR连接异常,RPC失败等信息。
7)检查ASM磁盘的权限信息赋权正常。
8)节点一进行重置GI ohas的操作,Ohasd进程启动失败。
发现在等待init.ohasd启动超时,不能获取GPnP profile,怀疑目录权限不正确或者缺少文件。
9)对比两个节点间CRS_HOME/bin目录权限,发现节点一bin目录权限不正确,在节点二中拷贝bin目录覆盖节点一后手动启动OHASD成功,再执行root.sh脚本,报错信息如下:
10)启动asm实例报错,截取了报错的日志信息如下图,可以看到第一行开始InstAgent,然后进行clsdmc_respget检查(两个节点上私网网卡绑定的HAIP进行通信检查)多次通信未成功,然后报错ORA-03113: end-of-file on communication channel,直接把和ASM信息的数据库断开。
经Ping测试两节点HAIP不通。
11)gR2起Grid infrastructure引入资源ora.cluster_interconnect.haip,不需要第三方技术便可实现redundant interconnect,最多支持4个private network,提供load balance & failover功能;Gird会自动选取169.254.*.*作为HAIP address,该功能默认启动。
将HAIP不通情况反映给网络侧协助处理,放通两节点间169.254网段的双向互访。
经网络管理员放通两节点间169.254.x.x地址互通后,重新执行root.sh脚本正常,节点一已加入集群。
结论及建议
1. 两节点间HAIP地址不能正常通讯问题,在数据库安装时已出现过,当时处理方式是放通固定的169.254.X.X IP互访,数据库重启后HAIP重新获取但不能通讯,此时建议放通两节点间169.254网段的双向互访;
2. CRS_HOME目录权限的变更导致OHASD进程启动异常,建议在系统或数据库做安全整改项目时,记录变更操作并做验证,有些配置变更并非实时生效,如数据库静态参数的修改需等到重启以后才会生效。
3. 在对数据库日志进行分析时,如果的日志信息中存在OCR自动备份报错,一般是由于磁盘空间不足引起,建议在数据库周期性检查工作中应多关注磁盘的使用情况,以便及时扩容,预防此类故障。
END
猜你喜欢
- 2024-11-13 运维概述与Linux系统安装 linux运维系统搭建
- 2024-11-13 Oracle数据库运维场景下,智能运维如何落地生根?
你 发表评论:
欢迎- 613℃几个Oracle空值处理函数 oracle处理null值的函数
- 604℃Oracle分析函数之Lag和Lead()使用
- 593℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 590℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 584℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 578℃【数据统计分析】详解Oracle分组函数之CUBE
- 567℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 559℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- PageHelper - 最方便的 MyBatis 分页插件
- 面试二:pagehelper是怎么实现分页的,
- MyBatis如何实现分页查询?(mybatis-plus分页查询)
- SpringBoot 各种分页查询方式详解(全网最全)
- 如何在Linux上运行exe文件,怎么用linux运行windows软件
- 快速了解hive(快速了解美国50个州)
- Python 中的 pyodbc 库(pydbclib)
- Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 故障分析 | MySQL 派生表优化(mysql pipe)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)