DBAtlas · 数据库运维图谱

ORA-12537: TNS:connection closed(TNS:连接已关闭)

Oracle

含义

由于通信通道意外关闭,客户端与服务器之间的 TNS 连接已结束。会话在建立连接期间或建立后立即断开。

原因

监听程序已将客户端移交给服务器进程,但该进程无法创建或立即终止:实例崩溃、达到 PROCESSES 限制、操作系统资源不足、防火墙/中间层切断连接,或 sqlnet.ora 中的 TCP.VALIDNODE_CHECKING/TCP.INVITED_NODES 规则拒绝了该客户端。有时客户端与服务器之间的空闲防火墙会断开连接。

解决方法

检查 listener.log 和 sqlnet.log。检查 PROCESSES/SESSIONS 限制:SELECT * FROM v$resource_limit WHERE resource_name IN ('processes','sessions'); 确认服务器端 sqlnet.ora 中的 TCP.INVITED_NODES/TCP.EXCLUDED_NODES 列表没有拒绝客户端 IP(登录版本不匹配引发的是 ORA-28040,而不是此错误)。增大防火墙的空闲超时,或用 SQLNET.EXPIRE_TIME 发送 keepalive。在 alert.log 中检查实例崩溃记录。

在 DBAtlas 中打开 →

同一数据库的其他条目