你可以杀掉会话对应的进程,这样系统就会自动清除这些会话。载$session和$process视图中可以获得对应进程信息,然后用kill(unix os)或者orakill(windows os)杀掉spid对应的进程。unix: kill spid如果你的Oracle是在windows平台上的,有一些的不同,因为windows是以thead来代替process的,需要用到sid和spid两个值,所用的命令也由kill替换为Orakill,
格式为:orakill sid spid

解决方案 »

  1.   

    1. OTN 中文论坛: [email protected] (郑先生,是坛主)
    2. Oracle 开发论坛: www.oracle-dev.com
    3. bbs.itebook.net
      

  2.   


     会话就是一次数据库的连接,如果你是程序员的话,可以理解为
      Connetion (ADO)或者statement(JAVA)  select * from v$SESSION where status='INACTIVE' and
      type!='BACKGROUND' 可以查询出用户会话成状态为非激活
      状态的,这些会话有可能是导致死锁的会话,也有可能只是
      一般的会话,比如我在PL/SQL Developer 中新开一个
      command windows,但是我一段时间闲置不用,状态也是
      非激活的。 
      
      清理会话的命令是 alter system kill session 'SID,serial#'
      命令执行完毕后, 这些会话会被标记成'KILLED', 由后台进程
      来清理系统资源。  另外,在sqlnet.ora 中可以设置相关参数,或者通过建立profile
      来管理用户对数据库连接.