1,cmd ------ ping ip地址:查看网络问题,能否ping通ip地址
2,cmd ------ tnsping ip地址(或服务器的实例名SID)“
①如果出现"TNS-12535:操作超时" 提示,可能是服务器端防火墙没有关闭,关闭防火墙即可;
②如果出现下图显示,则证明没有问题;
”
3,cmd ------ netstat - na 查看1521端口是否关闭
①如果显示关闭,则需要在防火墙设置中将1521端口设为例外;
②如果出现下图显示,则证明没有问题;
4,cmd ------ lsnrctl status (重点:大部分错误集中于此)
lsnrctl是listener-control 监听器的缩写,查看监听的状态
当输入命令后出现下图所示:
或出现监听不支持服务等文字,基本可以确定我们安装目录product\11.2.0\dbhome_1\NETWORK\ADMIN 下的tnsnames.ora文件或listener.ora文件出现问题。
①检查tnsnames.ora文件,查看代码中HOST后面对应的是不是你的IP地址,如果不是修改为正确的IP 即可。(连接无线网络的多注意,因为每次的IP是随机分配的)如下显示为正确的文件内容
②检查listener.ora文件,listener.ora文件我们需确保文件中至少存在如下代码
如果lsnrctl status命令下出现监听不支持服务问题我们还需要在上面的基础上加一段,如下为完整代码
5,重点(亲测):检查--开始--程序--找到oracle安装目录:找到net manager“oracle net 配置”--本地:服务命名--orcl90--这个是我的实例服务名(这是我的本地专用服务器)。检查主机名是否是本机ip或localhost。注意:连接类型要选“专用服务器”。
如果连接在次报错ora-12541:TNS:没有监听器:
1.cmd---services.msc----以Oracle开头TNListener结尾的服务启动它
2.如果还没有启动,修改注册表cmd--regedit
找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleTnsListener
添加一个字符串imagepath值为TNSLSNR.exe的路径
我的是D:/Oracle/Administrator/product/11.1.0/db_1/BIN/TNSLSNR
就可以连接上了。
如果在本机可以正常使用,可是到局域网中的其他机器就出现“ORA-12170:TNS:连接超时
解决方法:
1.cmd-----ping ip地址 查看网络问题,看能否ping通
2.cmd-----tnsping ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,可能是服务器端防火墙 没有关闭
3.cmd----netstat -na 查看1521端口是否关闭,如果关闭Windows XP中的防火墙设置中将1521端口设为例外
4.cmd----lsnrctl status lsnrctl是listener-control 监听器的缩写,查看监听的状态