问题如下:
1.环境为:Windows 2003下的程序连接Unix下的Oracle 9i数据库(IBM unix服务器/ORACLE数据库).
2.出现的现象为:
数据库连接出现timeout的情况,经检查(使用nestat -na)发现打开的1521端口一直处于 established状态,无法释放.而如果连接另一台windows2000数据库服务器(也是oracle 9i,采用默任安装),启动程序时,同样数量1521端口的连接状态也是established,但很快变成wait_time状态,并一会儿就消失了,所以不会出现连接问题.
3.请教各位高手,该如何解决,因为我们的正式数据库是在第一个环境下的,请不啬赐教,不胜感激!!!
1.环境为:Windows 2003下的程序连接Unix下的Oracle 9i数据库(IBM unix服务器/ORACLE数据库).
2.出现的现象为:
数据库连接出现timeout的情况,经检查(使用nestat -na)发现打开的1521端口一直处于 established状态,无法释放.而如果连接另一台windows2000数据库服务器(也是oracle 9i,采用默任安装),启动程序时,同样数量1521端口的连接状态也是established,但很快变成wait_time状态,并一会儿就消失了,所以不会出现连接问题.
3.请教各位高手,该如何解决,因为我们的正式数据库是在第一个环境下的,请不啬赐教,不胜感激!!!
在unix下listener收到客户端的请求连接后,spawn一个服务器进程,服务器进程继承客户端与listener的连接,因此在客户端上是仍然看到连接服务器的1521端口始终是established。
而windows的缺省配置下,服务器线程被创建后会通知listener一个新的端口,listener把此端口再通知给客户端,然后客户端断开与listener的连接(1521),用新端口与服务器线程连接。所以客户端1521端口的连接很快变成wait_time。
把NAMES.DEFAULT_DOMAIN = china.huawei.com和SQLNET.AUTHENTICATION_SERVICES= (NTS)注释掉。