可以的。
附:查看死锁的SQLselect t2.username||'   '||t2.sid||'   '||t2.serial#||'   '||t2.logon_time||'   '||t3.sql_text
      from v$locked_object t1,v$session t2,v$sqltext t3
      where t1.session_id=t2.sid
      and t2.sql_address=t3.address
      order by t2.logon_time;

解决方案 »

  1.   

    SELECT s.username 用户名称,
           s.status 状态,
           s.machine 机器名称,
               osuser 操作系统用户名称,
           spid UNIX进程号,
           'kill -9 ' || spid UNIX级断开连接,
           'alter system kill session ' || '''' || s.sid || ',' || s.serial# ||
           ''';' Oracle级断开连接,
           TO_CHAR(logon_time, 'dd/mm/yyyy hh24:mi:ss') 登陆时间,
           last_call_et 空闲时间秒,
           TO_CHAR(TRUNC(last_call_et / 3600, 0)) || ' ' || ' HRS ' ||
           TO_CHAR(TRUNC((last_call_et - TRUNC(last_call_et / 3600, 0) * 3600) / 60,
                         0)) || ' MINS' 空闲时间小时分钟,
           module 模块
      FROM v$session s, v$process p
     WHERE TYPE = 'USER'
       AND p.addr = s.paddr
       AND status != 'KILLED'
    -- AND SUBSTR (machine, 1, 19) NOT IN ('机器名')
    --AND last_call_et > 60 * 60 * 1 -- 空闲时间超过1小时的连接
     ORDER BY last_call_et desc;时间你可以自己设
      

  2.   

    oracle好象有这个参数的,但是产生进程不结束的原因很多,即使你设置了,也不能保证进程都会按时结束.