You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle日志大量12170、12535超时报错原因排查咨询

报错原因分析

你遇到的TNS-12170/12535报错是Oracle监听在等待客户端完成连接鉴权的过程中超时触发的,无用户业务反馈异常的前提下,常见原因如下:

  • 内网端口扫描/未授权探测:企业内部定期漏洞扫描、安全设备探测扫描1521端口时,仅完成TCP三次握手但不发起后续TNS鉴权请求,监听等待超时后就会打印该日志,是此类无业务影响报错的最常见诱因。
  • 无效客户端连接尝试:测试环境配置错误的连接串、下线业务残留的定时连接脚本、错误配置的监控探针,会持续向数据库发起无效连接,触发超时日志,不会干扰正常业务的连接请求。
  • 网络设备主动断开空闲连接:防火墙、交换机等网络设备配置的TCP空闲会话超时时间短于Oracle侧的连接保活周期,闲置的半开连接被网络设备断开时,服务端会触发该报错,一般为长期未使用的闲置连接,用户无感知。
  • 客户端进程异常终止:客户端程序崩溃、所在机器突然断电/重启,未向服务端发送正常的连接断开报文,服务端检测到连接失效时也会打印该日志。

排查方向

  • 优先匹配日志中的客户端IP归属:先确认xxx.yyy.zzz.vvv对应设备的用途,如果归属安全扫描设备、测试机等非业务生产设备,可直接忽略该类报错。
  • 检查服务端sqlnet.ora配置:查看SQLNET.INBOUND_CONNECT_TIMEOUT参数配置,Oracle 11g默认值为60秒,若配置值过小,部分网络延迟较高的客户端来不及完成鉴权就会被断开,可适当调整为120秒后观察报错量变化。
  • 端口抓包验证:在报错触发的时间点,针对对应客户端IP和数据库监听端口(默认1521)抓包,若仅存在TCP握手报文无后续TNS协议请求,即可确定为无效连接探测。
  • 核对对应IP的业务日志:若客户端IP归属生产业务服务器,找对应业务运维核对同时段的程序日志,确认是否存在异常的连接逻辑错误。
  • 校验网络层超时配置:核对数据库和客户端之间的防火墙、交换机TCP会话超时配置,建议将Oracle业务相关的会话超时时间调整为2小时以上,同时在服务端sqlnet.ora中新增SQLNET.EXPIRE_TIME=10配置,让服务端每10分钟向空闲连接发送探测包,避免连接被网络设备主动断开。

问题侧归属判断

绝大多数此类无业务影响的报错属于客户端侧或网络侧问题,仅当所有不同IP的客户端均随机出现该报错、同时伴随正常业务连接卡顿/失败的情况时,才可能是服务端负载过高、监听进程异常导致的服务端侧问题。

内容的提问来源于stack exchange,提问作者Aleksandr Beliavski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 15:54:09