Oracle 11g 两节点rac在机房断电重启后PL/SQL和客户端连接数据库报错ORA-12541

环境描述:机房断电后服务器和存储均正常启动,集群在硬件启动好后也启动正常,两实例均打开到open状态,grid监听状态也正常。

故障描述:客户反应有部分客户端在登录的时候报ORA-12541,有的客户端要登录好几次才能登上,客户端只要登上了不退出就一直能正常使用。

故障排查:

1.集群状态、数据库状态、监听状态都正常。

2.数据库层面,每个节点通过v$session查看,每个节点都是有客户端连接的,这一点也是比较具有误导性,这些会话可能是在监听分发连接正常的时候进来的。

3.查看数据库日志和监听日志都没什么问题

4.端口测试,服务器物理地址和vip和scanip的1521端口测试都是通的。(也不知道为什么后来从终端测试发现节点1的vip的1521端口不通了,不知道是不是时断时续的)

5.集群服务上用arp发包测试scanip连通性也是没有问题的。/sbin/arping -c 5 -I eth0 192.168.xxx.xxx (scanip的地址)

6.从远程终端sqlplus连接数据库,连接地址为节点1 vip的时候一直连接不上提示无监听,链接地址为节点2 vip时一直可以连,连接地址为scanip的时候偶尔能连上,大部分也会报错没有监听。

故障分析:

从以上分析大概率可以确定是网络问题了,最大可能就是节点1的vip地址被占用导致了地址冲突,但是长ping所有地址又不会出现丢包的情况,长tcping集群scanip加端口号都是通的。sqlplus节点1的vip连不上我们就测试节点1 vip的端口,测试下来发现1521端口不通。咨询大佬,大佬建议让网络方面查一下汇聚交换机的arp表。是不是arp表上节点1 的vip地址被占用了。

临时解决:先把节点一的监听给停掉,不要让集群把连接分发给节点1,停掉节点1监听,下面客户端连接就正常了。

网络问题处理:刷新汇聚arp表,也可以争对那个有问题的地址刷新单条,固定集群ip地址。

问题深层原因:服务器和部分终端设备共用一台汇聚交换机,并且交换机开启了DHCP,这就会导致如果有设备先开机就会有可能在arp表上占用集群的地址,导致故障。

相关推荐
小小龙学IT9 分钟前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
NineData21 分钟前
DTCC 2026 预告|NineData CEO& 创始人叶正盛:面向 AI Agent 的数据库 DevOps 与数据复制实践
数据库·人工智能·数据库开发·devops·ninedata·数据库技术·dtcc
J_bean1 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean1 小时前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
浪子明X2 小时前
从 MongoDB 文档到关系模型:构建可重跑、可对账的数据迁移流水线
数据库·mongodb·oracle
杜子不疼.2 小时前
国产数据库撑起固井软件自主化:金仓 × 中海油服「海恒 Cemsol」落地解析
数据库
隔窗听雨眠2 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
刀客Doc2 小时前
即时零售不只是多一个渠道,品牌开始重做终端生意
大数据·数据库
就叫飞六吧2 小时前
防抖、幂等、唯一约束三件套 ;
数据库
神奇霸王龙3 小时前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程