解决方案:检查监听器是否启动,运行lsnrctl status查看状态,如果没启动用lsnrctl start启动监听器;确认tnsnames.ora文件配置正确,主机名IP端口无误;防火墙放行1521端口;远程连接确保Oracle服务允许远程访问,修改sqlnet.ora添加TCP.VALIDNODE_CHECKING=no。
用户热议一
我遇到ORA-12564,折腾半天发现是监听器没启动,windows下服务管理器里OracleOraDb11Home1TNSListener启动就好了,重启电脑也行,但最好手动启动服务。
用户热议二
TNS-12564: TNS:connection refused,检查tnsnames.ora,SERVICE_NAME和SID别写错,主机名用IP替换,ping通后重试连接,plsqldev连上数据库了。
用户热议三
远程服务器Oracle,报12564,telnet IP 1521不通,防火墙关掉试试,阿里云安全组加1521入站规则,完美解决,谢谢楼主分享。
用户热议四
linux下lsnrctl start报错,listener.ora路径不对,改成默认$ORACLE_HOME/network/admin就行,status显示READY,sqlplus连通。
用户热议五
虚拟机Oracle,主机连不上,桥接模式改NAT,1521端口转发,tnsnames里localhost改vmip,连接成功,大家多试网络配置。
用户热议六
ORA-12564后,查listener.log日志,发现地址绑定错,重启监听器指定HOST=实际IP,问题消失。
用户热议七
新装Oracle xe,连接拒绝,检查服务OracleServiceXE和监听器都启动,tnsnames.ora免费版用XE sid。
FAQ
Q: ORA-12564怎么快速检查监听器?
A: cmd运行lsnrctl status,有READY就正常,无则lsnrctl start。
Q: 远程连接12564是防火墙问题吗?
A: 是常见原因,放行1521端口或安全组规则。
Q: tnsnames.ora配置错怎么改?
A: HOST=ip,PORT=1521,SERVICE_NAME=orcl,保存重连。
Q: 服务启动了还报错?
A: 检查sqlnet.ora加EXCLUDED_NODES=(hostname)或重启db服务。