1、有些进程是不能kill的,比如系统的后台进程、当前进程。真要这么做,恐怕只能shutdown再restart数据库。
2、inactive的进程是指目前不活动的进程,只有当进程正在进行数据库操作的时候,才是active的,比如某个进程执行一个比较的select操作,在select的过程中,进程是active的,但是一旦select完成,就变成inactive了。没有理由去杀掉inactive的进程。当然,用动态sql能写出杀死所有inactive进程的语句,但是为什么要这么做?

解决方案 »

  1.   

    这些inactive进程对数据库有没有什么影响啊。为什么我们的数据有时
    需要重起一次才能够连接的上,可能由于什么造成的。
      

  2.   

    inactive没有影响,但是也有可能会有死进程在里面.
    所以,如果有必要,可以设置idle_time来清除超时进程
    如果说你的数据库有时连接不上,但重起一次又能够连接,
    原因可能是你有太多的process,超过了你系统的许可,增大process参数值
    引起的原因可能会是
    1本来你的session就很多
    2太多的死进程没有清掉,因为你的客户段的异常终止