如题:win10电脑上安装oracle 当服务器提供服务。之前几天用的好好的,结果刚刚连接不上了。郁闷了,什么都没有改动。默认数据库服务是开机自启动。
结果真有前辈遇到这样的情况:https://www.cnblogs.com/loong-hon/p/10832143.html
修改方式就是listener.ora中配置,将localhost,修改为电脑的名称。当时不理解怎么回事,结果改了就好了。没错,路子就是这么野
参考:
http://blog.sina.com.cn/s/blog_132717ea70102v4gq.html
https://www.cnblogs.com/loong-hon/p/10832143.html
https://www.cnblogs.com/silentjesse/p/5375572.html
分析过程
http://wenku.baidu.com/link?url=8tRGGObqgLd6-yqprioIZSyluu9K0BgA29Lhx7F57pVDIHbMHVDNTa_SlEmVugGT4QJODM8ujcsJE0F-gpCtXLB0pyR6K2dz6v4zgd9UP67
原文内容:
提示无法连接远程Oracle。我试着telnet Oracle服务器1521 端口,提示连接失败。 D:Documents and SettingsAdministrator>telnet 10.201.70.68 1521 正在连接到10.201.70.68...不能打开到主机的连接, 在端口 1521: 连接失败 Oracle服务器与本机都在局域网内,不存在网络不通问题,怎么会无法连接。 检查10.201.70.68并未启动防火墙,可以ping通。 但发现直接在Oracle服务器上连接oracle也不能正常连接。 后发现为listener.ora导致,经过修改 product10.2.0db_1NETWORKADMINlistener.ora 数据库恢复正常。 再次telnet Oracle服务器的1521端口,依然连接失败。 D:Documents and SettingsAdministrator>telnet 10.201.70.68 1521 正在连接到10.201.70.68...不能打开到主机的连接, 在端口 1521: 连接失败 用命令查看当前端口情况netstat -a –n C:Documents and SettingsAdministrator>netstat -a -n Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:23 0.0.0.0:0 LISTENING TCP 0.0.0.0:80 0.0.0.0:0 LISTENING TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING TCP 0.0.0.0:1035 0.0.0.0:0 LISTENING TCP 0.0.0.0:1080 0.0.0.0:0 LISTENING TCP 0.0.0.0:1139 0.0.0.0:0 LISTENING TCP 0.0.0.0:1801 0.0.0.0:0 LISTENING TCP 0.0.0.0:2103 0.0.0.0:0 LISTENING TCP 0.0.0.0:2105 0.0.0.0:0 LISTENING TCP 0.0.0.0:2107 0.0.0.0:0 LISTENING TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING TCP 10.201.70.68:139 0.0.0.0:0 LISTENING TCP 10.201.70.68:3389 10.201.70.75:53370 ESTABLISHED TCP 127.0.0.1:1142 0.0.0.0:0 LISTENING TCP 127.0.0.1:1521 0.0.0.0:0 LISTENING TCP 127.0.0.1:42424 0.0.0.0:0 LISTENING UDP 0.0.0.0:445 *:* UDP 0.0.0.0:1034 *:* 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可以连接的机器,查看NETWORKADMINlistener.ora文件,仔细对比两个Oracle该文件的区别,发现正常的Oracle服务器上,listener.ora文件,如下这段HOST显示的是机器名,而不能连接的是“localhost”。 LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = lggsuper_pc)(PORT = 1521)) ) 在服务器上查找listener.ora文件,我备份该文件后。 将文件内 HOST = localhost 改为 HOST = 你的计算机名。重启监听服务。 检查数据库从数据库服务器本机连接正常。telnet 127.0.0.1 1521 正常。 telnet IP 1521 正常。 然后再执行命令netstat -a –n查看,此时1521前面的IP已变为“0.0.0.0”。 C:Documents and SettingsAdministrator>netstat -a -n Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:23 0.0.0.0:0 LISTENING TCP 0.0.0.0:80 0.0.0.0:0 LISTENING TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING TCP 0.0.0.0:1035 0.0.0.0:0 LISTENING TCP 0.0.0.0:1080 0.0.0.0:0 LISTENING TCP 0.0.0.0:1317 0.0.0.0:0 LISTENING TCP 0.0.0.0:1521 0.0.0.0:0 LISTENING TCP 0.0.0.0:1801 0.0.0.0:0 LISTENING TCP 0.0.0.0:2103 0.0.0.0:0 LISTENING TCP 10.201.70.68:139 0.0.0.0:0 LISTENING TCP 127.0.0.1:1324 127.0.0.1:1521 TIME_WAIT TCP 127.0.0.1:42424 0.0.0.0:0 LISTENING UDP 0.0.0.0:445 *:* UDP 0.0.0.0:1034 *:* UDP 0.0.0.0:1044 *:* 看来成功的概率很高,然后我通过我电脑telnet Oracle服务器1521端口,果然成功。