这个问题我是在windows server下遇到的。
原因是我们的网络服务名大小写不匹配,我及我同事遇到同类问题已经三次以上,而且发生在不同客户的服务器上,有新装oracle的,也有使用了一段时间可能认为修改过,导致同类问题出现。所以我的经验还是值得借鉴的。
处理原则就是:要么全是大写,要么全是小写。你使用的是小写,遇到了大写的,你就改成小写的,反过来也是如此。哈哈
在修改前将oracle所有的服务先停掉,是所有所有。
停了之后,在Net Configure Asistant程序中,四个项全部都重新配置一遍,重新配置的时候,注意大小写保持一致。
然后我建议重启下服务器,重启完后基本上可以连接了。可以连接,等于就是服务器重启不会存在oracle连接不上的问题咯。至此问题就完美解决。