在客户现场windows 32bit环境下9.2.0.8数据库,发现进程oracle下的线程数
目一直增加到250,最终导致新连接的session无法登陆。
采用windows提供的工具pstool,pslist -d oracle进程号,列出进程下的所有线
程,发现确实存在250的线程。登陆ORACLE,select spid from v$process,查看
ORACLE连接线程,只有20个左右。
在命令行窗口,netstat -An查看连接数,发现如下信息:
协议 本地地址 外部地址 状态
TCP xxx.xx.xxxx.xxx:端口 0.0.0.0:0 LISTENING
TCP xxx.xx.xxxx.xxx:端口 xxx.xx.xxxx.xxx:端口 ESTABLISHED
正常连接的“外部地址”列包含了外部地址,而0.0.0.0则没有地址,全部相加起
来差不多是250个连接。
只能采用orakill oracle_sid thread_id将无用线程kill。
我们做了一个实验,就是客户端连接数据库,正常连接和退出,线程数会增加
和减少,但是当我们将网线拔掉,然后退出客户端,后台的线程数不会减少。
我相信应该是OS的问题,有谁能推荐一个好的解决方案?
目一直增加到250,最终导致新连接的session无法登陆。
采用windows提供的工具pstool,pslist -d oracle进程号,列出进程下的所有线
程,发现确实存在250的线程。登陆ORACLE,select spid from v$process,查看
ORACLE连接线程,只有20个左右。
在命令行窗口,netstat -An查看连接数,发现如下信息:
协议 本地地址 外部地址 状态
TCP xxx.xx.xxxx.xxx:端口 0.0.0.0:0 LISTENING
TCP xxx.xx.xxxx.xxx:端口 xxx.xx.xxxx.xxx:端口 ESTABLISHED
正常连接的“外部地址”列包含了外部地址,而0.0.0.0则没有地址,全部相加起
来差不多是250个连接。
只能采用orakill oracle_sid thread_id将无用线程kill。
我们做了一个实验,就是客户端连接数据库,正常连接和退出,线程数会增加
和减少,但是当我们将网线拔掉,然后退出客户端,后台的线程数不会减少。
我相信应该是OS的问题,有谁能推荐一个好的解决方案?
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/354732/viewspace-753019/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/354732/viewspace-753019/