重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛
标题:
Oracle 数据库 ora-00609 ora-12170排查和解决该问题的常见方向
[打印本页]
作者:
mahan
时间:
5 天前
标题:
Oracle 数据库 ora-00609 ora-12170排查和解决该问题的常见方向
1. 网络与防火墙因素(最常见)
网络延迟或丢包: 客户端到数据库服务器之间的网络质量不佳。
防火墙干预: 中间网络设备(如防火墙、路由器等)可能因为安全策略阻断了建立连接的 TCP 数据包,或者由于空闲会话超时机制(Firewall idle timeout)切断了半连接状态的会话。
2. 客户端/应用端主动放弃
如果客户端应用(例如配置了较短连接超时的连接池)在等待数据库响应时失去了耐心,主动发送了中断信号或直接断开连接,数据库端同样会记录 ORA-00609。
3. 数据库主机资源瓶颈
检查报错发生时间点操作系统的性能状况。如果当时 CPU 满载、内存 Swap 频繁或 I/O 极高,系统派生和初始化那个 ospid 进程的速度会非常慢,直接拖垮整个连接握手的时间。
4. 应急缓解方案:调整超时参数
如果你确认主机负载正常,且网络层面暂时无法进行优化,可以通过调大数据库的入站连接超时时间参数来缓解这个问题。在集群环境下,需要在对应节点的 Grid 或 Oracle 用户下修改以下两个配置文件:
修改 sqlnet.ora (通常位于 $ORACLE_HOME/network/admin/):
增加或修改参数,将其调大(默认通常为 60 秒,可调整为 120 甚至更高):
SQLNET.INBOUND_CONNECT_TIMEOUT = 120
修改 listener.ora (通常位于 $GRID_HOME/network/admin/):
增加或修改监听器的入站超时参数:
INBOUND_CONNECT_TIMEOUT_<你的监听器名称> = 120
修改后需重启监听(lsnrctl reload 即可平滑加载)使配置生效。
欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/)
Powered by Discuz! X3.2