首页 > 代码库 > oracle 连接不上ORA-12162: TNS:net service name is incorrectly specified的另外一种可能原因
oracle 连接不上ORA-12162: TNS:net service name is incorrectly specified的另外一种可能原因
用sqlplus连接oracle数据库时报错:
[root@ownsv ~]# sqlplus oracle/password@//10.5.0.7:1521/ssp
SQL*Plus: Release 11.1.0.7.0 - Production on Thu Jun 26 10:16:21 2014
Copyright (c) 1982, 2008, Oracle. All rights reserved.
ERROR:
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
Enter user-name:
使用oracle java客户端连接的时候也报错:
Caused by: oracle.net.ns.NetException: End of TNS data channel
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:165)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:117)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:92)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:77)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1034)
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1010)
at oracle.jdbc.driver.T4C8TTIdty.receive(T4C8TTIdty.java:516)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:332)
... 10 more
使用netstat -an | grep :1521查看的时候发现端口监听是正确的,当客户端来链接的时候状态为ESTABLISHED,但是瞬间又变成了TIME_WAIT状态。
客户端与oracle服务器ip也是可通的,ping无问题。
oracle服务器和客户端处于不同两个网络中,oracle同网络机器可以正常连接数据库。
最后发现居然是客户端和oracle server的MTU设置不一样导致的。修改成一致就可以了。
跨网络访问时须确保MTU一致,通讯才能正常。
本文出自 “小何贝贝的技术空间” 博客,请务必保留此出处http://babyhe.blog.51cto.com/1104064/1431069