我设了oracle的processes数为300,但是现在发现我的一个应用模块存在连接泄露,占用了大量连接,但所有的后台进程和服务进程加起来是298个,就不能再也连接进去了,不知道是怎么回事?
是不是oracle有预留连接?
我现在想通过sqlplus连上去看看,但是sqlplus / as sysdba连接不上。
在这种情况下我是否还可以通过sqlplus连上数据库?否则的话我连到底是哪个客户端进程发生异常产生了那么多服务进程都不知道啊。
是不是oracle有预留连接?
我现在想通过sqlplus连上去看看,但是sqlplus / as sysdba连接不上。
在这种情况下我是否还可以通过sqlplus连上数据库?否则的话我连到底是哪个客户端进程发生异常产生了那么多服务进程都不知道啊。
lz把这个文件的processes的值再改的大一些,看看能用sqlplus登陆吗
如有就kille掉
顺便说一下,既然有泄漏,应该把这个源头堵上
而不是去改连接数
虽然我没有搞过DB2不过听我一个同事说db2是有类似功能的,即不需要登陆到数据库中就可以通过某条命令关闭数据库。
oracle没有么?一定要sqlplus连上去?
但实际上我认为这是oracle做的不妥的地方,因为在这种情况下我很可能很想搞清楚是哪个客户端进程申请了这么多服务进程连接,但不让登陆就查不了。非得kill掉很不爽。
而且这样数据库也不是正常关闭的。
你用OS的命令看进程是可以看到哪个客户机连接的。
kill点一个,登录上去再仔细查看不久清楚了
另外ps只能看到客户端进程和服务端进程,并不能得知客户端进程和服务进程的对应关系,我又不是只有一个客户段进程,不等数据库如何判断哪些服务端进程是这个客户端申请的?