PL/SQL连接数据库 ORA-12170: TNS: 连接超时

时间:2024-03-31 18:21:39

一、检查服务端数据库监听是否正常启动

首先,确认用户名已被授权,并且密码是正确的。

分析:ora-12170连接超时至少是oracle的错误,证明他和Oracle有点联系。

1、查看本地数据库的监听状态:开始--运行--cmd--isnrctl status。如下图,监听已经启动:

PL/SQL连接数据库 ORA-12170: TNS: 连接超时

2、查看端口:开始--运行--cmd--netstat -na(查看是否有端口1521)

PL/SQL连接数据库 ORA-12170: TNS: 连接超时

3、查看网络问题:开始--运行--cmd--ping -t 数据库ip

PL/SQL连接数据库 ORA-12170: TNS: 连接超时

4、开始--运行--cmd--tnsping 数据库ip

PL/SQL连接数据库 ORA-12170: TNS: 连接超时

二、如果没启就再启一下,如果启了,并且状态正常的话,那么

(1)检查一下你的网络

        检查本机网路:ipconfig查看本机IP,然后ping+本机ip,如果能ping通

        检查虚拟机网络:ipconfig查看虚拟机IP,然后ping+虚拟机ip,如果能ping通

        检查本机ping虚拟机:在本机上,ping+虚拟机ip

        检查虚拟机ping本机:在虚拟机上,ping+本机ip

        我遇到的问题是:虚拟机能ping通本机,本机无法ping通虚拟机?解决办法是,将虚拟机的防火墙全部关闭(如果还是不行可以尝试同时把本机的防火墙也关闭),如下:

PL/SQL连接数据库 ORA-12170: TNS: 连接超时

再尝试本机ping虚拟机ip,成功:

PL/SQL连接数据库 ORA-12170: TNS: 连接超时

(2)检查一下你本机对于tnsname.ora文件的配置。是否正确。

 

三、重新打开PLSQLDeveloper,连接数据库

提示警告:可能是安装Oracle时埋下的隐患,先忽略

PL/SQL连接数据库 ORA-12170: TNS: 连接超时

点击确定,成功连接上数据库:

PL/SQL连接数据库 ORA-12170: TNS: 连接超时

 

参考资料: 
(1)VMware虚拟机三种网络模式—详解NAT(地址转换模式) 

(2)VMware虚拟机NAT模式的具体配置

(3)桥接模式:https://jingyan.baidu.com/article/a378c960f083f0b3282830ca.html

(4)NAT模式:https://blog.csdn.net/qqxyy99/article/details/80864862

(5)vmware虚拟机与本机的网络ping通:https://blog.csdn.net/yangdan1025/article/details/80935321

(6)VMWare提供了三种工作模式:https://blog.csdn.net/zhazhiqiang/article/details/28260901