关于Oracle数据库的连接失败问题,有N种情况都会导致,这次遇到的是一般开发或者运维人员难以发现的

场景:

有一台机A能够正常连接数据库并正常运行,机器B连接失败

32位WebService程序基于.Net4.0开发,部署在IIS上,通过Oracle Client链接数据库

问题排查:制作加拿大28系统q<115.28.8.00.9.9>

IIS启用32应用程序池

应用程序池启用4.0版本

B机器NetManeger配置的数据库实例名、IP、数据库端口均与A服务器一致

测试B至数据库服务器IP网络通畅 ping 服务器IP

测试端口通畅 telnet 服务器IP 数据库端口

仍然提示连接超时;

上述所有基本检查都已确认没有问题,最后意外的发现

两个服务器ABNetManager里面的连接模式不一样

A为专用服务器模式,B默认的数据库连接

所以问题就在这里,连接模式在数据库上做的设置,在大型的公司或者项目系统管理,DBA、系统运维、系统开发都是严格区分的,

如果在DBA在数据库做了改动,却没通知出来,就会导致这种问题,根本排查不出来。