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表上占用集群的地址,导致故障。

相关推荐
笃行3506 小时前
数据库性能优化的五处内核改造,KingbaseES 配了四件诊断工具
数据库
非优秀程序员8 小时前
第02章 杭电的英语老师与一台服务器|《互联网产品恩仇录》
数据库·node.js·代码规范
SelectDB12 小时前
SelectDB 是哪个公司的?是国产数据库吗?一篇讲清飞轮科技与 Apache Doris 的关系
数据库
这个DBA有点耶13 小时前
库内计算推理:一条SQL背后的算子融合,和外挂方案差了几次网络往返
数据库·人工智能·sql
这个DBA有点耶15 小时前
函数索引的“完全一致”有多苛刻:写法、字符集、类型,差一处就失效
数据库·mysql·代码规范
星恒随风15 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
Alluxio15 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
数据库急诊室_阿哲19 小时前
一次加索引建议的复核记录:从报告到签字
数据库·ai数据库
青瓦梦滋20 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
慧都小妮子21 小时前
Wyn商业智能国产数据库适配:数据接入、分析缓存与审计日志验证清单
数据库·数据分析·数据可视化·审计日志·商业智能