联系:手机/微信(+86 17813235971) QQ(107644445)
标题:tcp连接过多导致监听TNS-12532 TNS-12560 TNS-00502错误
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
数据库监听启动报TNS-12532、TNS-12560、TNS-00502错误,无法正常启动
C:\Users\Administrator>lsnrctl start LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 20-6月 -2025 22:5 6:40 Copyright (c) 1991, 2010, Oracle. All rights reserved. 启动tnslsnr: 请稍候... TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Production 写入e:\app\administrator\diag\tnslsnr\WIN-3D3QHVQUU65\listener\alert\log.xml的日志信息 监听该对象时出错: (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PARTIAL=yes)(QUEUESIZE=1)) 不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-3D3QHVQUU65)(PORT=1521)) ) TNS-12532: TNS: 无效的参数 TNS-12560: TNS: 协议适配器错误 TNS-00502: 参数无效 32-bit Windows Error: 22: Invalid argument 监听程序未能启动。请参阅上面的错误消息... TNS-12560: TNS: 协议适配器错误 TNS-00530: 协议适配器错误 32-bit Windows Error: 55: Unknown error
尝试重建监听提示端口占用,对于这种情况,第一反应可能是数据库服务器的一些tcp链接异常.通过netstat -nao查看发现8080端口的应用占用TCP链接太多

通过分析发现该tcp链接已经达到7w多个,怀疑是该问题导致监听异常,重启应用释放这些连接之后,数据库监听恢复正常.