plsql连oracle数据库,后来plsql卡死了,就结束进程关掉了,但在数据库中查看到原plsql连接的进程却没有断

解决方案 »

  1.   

    pmon清理断掉的session也需要时间的。
      

  2.   

    那就把进程杀掉啊
    alter system kill session 'sid,serl';
      

  3.   

    如果连oracle数据库的人多了,这个问题多了,就对数据库产生很大的影响。可以造成几百个正在运行的进程。除手动一个一个杀进程外,还有其它方法解决吗?
      

  4.   


    您是说oracle中可以自己清理掉这种进程?但是有些进程都几天了,一直存在哦。还有oralce怎么能识别是断掉的进程。虽然我知道sqlplus已经退出了,但是数据库里如何识别的?
      

  5.   

    select sql_text from v$sql where hash_value in
    (select sql_hash_value from v$session where sid in
    (select session_id from v$locked_object))
      

  6.   


    这个是查询出锁住的sql,但是那些进程,有些是没有锁住,只是客户端使用的plsql被强制关闭了。但没有退出数据库中的他自己的连接进程,导致那些进程无法自己关闭。
      

  7.   

    select sid,SERIAL# from v$session,v$locked_object where sid=session_id;
    alter system kill session 'sid,serial';