今天启动工程,突然提示无法连接远程Oracle。我试着telnet Oracle服务器1521 端口,提示连接失败。
D:\Documents and Settings\Administrator>telnet 10.201.70.68 1521
正在连接到192.168.1.20...不能打开到主机的连接, 在端口 1521: 连接失败
Oracle服务器与本机都在局域网内,不存在网络不通问题,怎么会无法连接。
检查192.168.1.20的防火墙,在win2008r2防火墙添加端口入站和出站规则:1521
但发现Oracle服务器上可以正常连接但是在客户端还是不能正常连接。
telnet Oracle服务器的1521端口,依然连接失败
查看Oracle监听,已经启动了
用命令查看当前端口情况netstat -a –n
C:\Documents and Settings\Administrator>netstat -a -n
1521端口处于监听状态,但是从我本机还是无法Telnet服务器端口。
我试着telnet 1080端口,发现却可以,唯一的区别就在于一个端口前是“0.0.0.0”,一个是“127.0.0.1”。为了验证,我又telnet 1035/1026都可以通。
但是为什么呢,是不是就因为这个IP的原因呢,怎么才可以把这个“127.0.0.1”改为“0.0.0.0”。
1521是Oracle监听端口,问题估计还是出在监听本身。
我打开另一台也装有Oracle且1521可以连接的机器,查看NETWORK\ADMIN\listener.ora文件,仔细对比两个Oracle该文件的区别,发现正常的Oracle服务器上,listener.ora文件,如下这段HOST显示的是机器名,而不能连接的是“localhost”。
LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = my_pc)(PORT = 1521)) ) |
我备份该文件后,将localhost 也改为本机名,重启监听。检查数据库从数据库服务器本机连接正常。
然后再执行命令netstat -a –n查看,此时1521前面的IP已变为“0.0.0.0”。
然后 telnet Oracle服务器1521端口,测试成功。