ORA-12597: TNS:connect descriptor already in use
Cause: Internal error – illegal use of connect descriptor.
Action: Not normally visible to the user. For further details, turn on tracing and reexecute the operation. If error persists, contact Oracle Customer Support.
ORA-12597表示TNS连接描述符已被占用。官方解释是:TNS(“Transparent Network Substrate)已使用它发现的连接描述符。该连接描述符可能已事先已经在另一个连接的描述符上注册或将被它发现已在其他套接字上使用,或者它可能已经存在于另一个并发连接上。
常见案例: 客户端与数据库服务器之间存在多个连接,例如使用ODBC、JDBC或PHP进行数据库连接,但在某个时候该连接描述符被用在另一个连接上,从而导致ORA-12597错误的发生,可能的原因是TNS未能发现正在使用的连接描述符。
1.检查TNSNAMES.ORA文件,确保有效的连接描述符条目仅在文件的一次性中出现,以及连接描述符条目中包含所有有效的参数。
2.确保连接描述符的端口号正确,然后端口是否打开并运行。可以使用netstat,telnet或类似工具验证端口是否打开和运行。
3.确保在客户端和服务器之间的网络连接是可用的
4.如果在没有任何网络连接可用的情况下,检查客户端和服务器之间的路由表
5.有时现有的tnsnames.ora可以确保唯一的IP地址定位。
6.如果仍然出现问题,建议重新启动TNS服务器以及客户端服务。