PL/SQL连接数据库 ORA-12170: TNS: 连接超时
一、检查服务端数据库监听是否正常启动
首先,确认用户名已被授权,并且密码是正确的。
分析:ora-12170连接超时至少是oracle的错误,证明他和Oracle有点联系。
1、查看本地数据库的监听状态:开始--运行--cmd--isnrctl status。如下图,监听已经启动:
2、查看端口:开始--运行--cmd--netstat -na(查看是否有端口1521)
3、查看网络问题:开始--运行--cmd--ping -t 数据库ip
4、开始--运行--cmd--tnsping 数据库ip
二、如果没启就再启一下,如果启了,并且状态正常的话,那么
(1)检查一下你的网络
检查本机网路:ipconfig查看本机IP,然后ping+本机ip,如果能ping通
检查虚拟机网络:ipconfig查看虚拟机IP,然后ping+虚拟机ip,如果能ping通
检查本机ping虚拟机:在本机上,ping+虚拟机ip
检查虚拟机ping本机:在虚拟机上,ping+本机ip
我遇到的问题是:虚拟机能ping通本机,本机无法ping通虚拟机?解决办法是,将虚拟机的防火墙全部关闭(如果还是不行可以尝试同时把本机的防火墙也关闭),如下:
再尝试本机ping虚拟机ip,成功:
(2)检查一下你本机对于tnsname.ora文件的配置。是否正确。
三、重新打开PLSQLDeveloper,连接数据库
提示警告:可能是安装Oracle时埋下的隐患,先忽略
点击确定,成功连接上数据库:
参考资料:
(1)VMware虚拟机三种网络模式—详解NAT(地址转换模式)
(3)桥接模式:https://jingyan.baidu.com/article/a378c960f083f0b3282830ca.html
(4)NAT模式:https://blog.****.net/qqxyy99/article/details/80864862
(5)vmware虚拟机与本机的网络ping通:https://blog.****.net/yangdan1025/article/details/80935321
(6)VMWare提供了三种工作模式:https://blog.****.net/zhazhiqiang/article/details/28260901