这篇论坛文章(赛迪网技术社区)介绍了解决Windows环境下Oracle无法连接现象的具体方法,更多内容请参考下文:
今天对我们维护的N多的开发数据库进行全面的备份检查,原因是上个星期,公司居然在两天内停电达10次之久,要知道,我们的服务器都没有UPS的,直接后果就是问题管理服务器当了下,我要吸取教训,总不能把开发服务器弄当了,如果没有备份,那责任就大了
检查来检查去,发现上上周刚上的一个项目的开发数据库虽然现在归我管辖,但是还没有给作自动备份列(小声点,领导知道要扣钱的),那可得作好
如是在异地专门用来作备份的机器上写好了脚本,准备自动备份,就在这个时候,居然发现,脚本怎么执行失败,不是吧,看看log,居然是ORA-12560,协议适配器错误,ft,刚才在tnsnames.ora文件中改配置的时候我测试过的呀,可以连接的呀
再用sqlplus试试,居然第一次连接的时候也是报同样的错误,但是如果马上连接低2次,就能连接上,不会吧,老大,玩我呀。察看listener.log,没有任何异常。
在我自己的本上连接开发服务器,没有任何问题,只是作备份的机器有这个问题。ok,那就应该不是开发服务器的问题,再看看这个作备份的机器
先ping下开发服务器,居然报错了,ft,
错误是 PING: transmit failed.error code 1314
这样的,难道是网络问题,看看防火墙,没有用天网之类的烂东西呀
怎么回事情。
关键时刻,俺还是信赖Google的
google下,关于这个问题的,都是有人提问,没人回答,我也想问呀
再看看英文的,好不容易找到了一个,有人回答了,说是因为有desktop firewall
应该没有的呀,我没有装这个东西呀
在看看网络连接属性,居然还真的有一个这玩意,shit
是mac desktop firewall
得,卸载吧,到添加删除程序中,找到了这个鸟程序
直接卸载
重新启动
一切ok了,
总结:
如果连接有问题,先ping数据库主机
然后tnsping,
然后吗,用别的机器试试
确定是主机的问题
还是client的问题
然后对症下药
千万不要慌。