上网尝试了很多方法,网上列举的以下常见方法对于我来说无效,且均正常。
1、先检查网络是否能ping通,下图网络状态是正确的。

2、查看服务器监听服务是否启动

3、cmd -》 tnsping ip地址(或者是服务器的实例名sid)如果报“tns-12535:操作超时”,可能是服务器端防火墙 没有关闭
4、cmd -》 netstat -na 查看1521端口是否关闭,或者将1521端口设为例外

5、cmd-》 lsnrctl status 查看监听的状态

图中出现监听不支持服务等,基本可以确定d:\oracle\product\10.2.0\db_1\network\admin\listener.ora文件或者tnsnames.ora文件中出现问题
listener.ora文件存在如下代码:
这段代码中host是否是你的主机名或者ip,如果不是请修改到对应的主机名和ip 或者localhost
# listener.ora network configuration file: d:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# generated by oracle configuration tools.
sid_list_listener =
(sid_list =
(sid_desc =
(sid_name = plsextproc)
(oracle_home = d:\oracle\product\10.2.0\db_1)
(program = extproc)
)
)
listener =
(description_list =
(description =
(address = (protocol = ipc)(key = extproc1))
(address = (protocol = tcp)(host = localhost)(port = 1521))
)
)tnsnames.ora文件
这段代码中host是否是你的主机名或者ip,如果不是请修改到对应的主机名和ip 或者localhost
# tnsnames.ora network configuration file: d:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# generated by oracle configuration tools.
listener_orcl =
(address = (protocol = tcp)(host = localhost)(port = 1521))
orcl =
(description =
(address = (protocol = tcp)(host =localhost)(port = 1521))
(connect_data =
(server = dedicated)
(service_name = orcl)
)
)
extproc_connection_data =
(description =
(address_list =
(address = (protocol = ipc)(key = extproc1))
)
(connect_data =
(sid = plsextproc)
(presentation = ro)
)
)6、我自己解决的
重启如下图所示的两个服务 问题解决

总结
到此这篇关于oracle连接数据库报错ora-12170:tns连接超时解决办法的文章就介绍到这了,更多相关oracle连接报错ora-12170:tns内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论