oracle 链接问题

来源:互联网 发布:淘宝虚拟商品怎么发货 编辑:程序博客网 时间:2024/06/10 21:33

oracle 在服务器上运行正常,服务器ip例如 111.111.111.111

在服务器上运行的程序都可以正常链接,而通过远程链接的程序报错,链接失败!

1.首先检查服务器ip地址是否正确,ping 111.111.111.111 正常

2.检查oracle端口是否开启监听。默认端口1521,确认端口没有修改,然后检查是否可以访问此端口telnet 111.111.111.111 1521,发现无法链接此端口。

3.mstsc 远程登录服务器 111.111.111.111。

4.在服务器端打开服务 services.msc,检查OracleServiceORCL 服务是否启动,因为之前在服务器上运行的程序正常,所有此服务肯定启动了(注意服务名称,默认用orcl的为此名称,如果修改过或新建的其他服务,可能名称不一样,如abc服务为 OracleServiceABC)。

5.在服务端检查oracle的监听服务是否启动 OracleOraDb10g_home1TNSListener (此服务名称取决于安装时的设置,但主要看*TNSListener)。发现服务也启动了。

6.在服务端检查端口,telnet 111.111.111.111 1521  发现还是无法链接。尝试 telnet 127.0.0.1 1521 发现链接成功。

7.此时判断oracle的监听 127.0.0.1 和 实际地址 111.111.111.111 不是一码事,上网查了一下后肯定了我的猜测,基本确定了问题的关键。

8.在服务器端打开Oracle 的 Net Manager, 果然发现监听的地址是127.0.0.1,将主机改成111.111.111.111,并保存网络配置。在telnet一下检查端口,发现还链接不上111.111.111.111,不用急!重启一下TNSListener 服务后本地和远程链接就成功了。

9.一阵高兴过后,有些不放心。再检查一下原来的服务是否都正常。怕什么来什么,原来的服务出错了!赶紧先改回去,确保已有的服务正常运行。

10.惊魂未定后,再想想问题应该出在 oracle的监听认为127.0.0.1 和 实际地址111.111.111.111 是不同的。而服务器上许多服务配置的地址是127.0.0.1。

11.再打开Net Manager,发现监听可以添加多个地址,新添加一个地址,还是用TCP/IP协议,地址为111.111.111.111,端口为1521(曾担心会和 127.0.0.1 的1521 配置端口冲突,但无妨)。这样就有两个TCP/IP 监听地址了。

12.重启TNSListener 服务,先检查旧的服务,一切正常;再测试新的程序,链接正常。

到这里一切完毕,反而没有高兴,只是静静的把整个过程回想,总结,记录下来。希望下次不要再被同样的问题挡住。

原创粉丝点击