Page Actions
Wiki Actions
User Actions
Submit This Story

Oracle里的锁死Session

以前一直用PL/SQL Developer来查看和kill掉那些由于意外而锁死在Oracle里的session.那么到底session在哪里呢… 其实信息就在两个view里面:

  • 当前锁住的object所在的view: v$locked_object
  • session信息所在的view: v$session

查看locked session

所以只要把他们联系起来,就能看清当前有锁的进程详细信息:

SELECT
   c.owner,
   c.object_name,
   c.object_type,   
   b.sid,
   b.serial#,
   b.STATUS,
   b.osuser,
   b.machine
FROM
   v$locked_object a,
   v$session b,
   dba_objects c
WHERE
   b.sid = a.session_id
AND
   a.object_id = c.object_id;

Kill掉锁死的session

根据之前得到的session信息,用alter system语句就可以杀session解锁了。

ALTER system KILL session 'session-id,session-serial'

Linkbacks

[...] Oracle里的锁死Session [ÚCARENYA] [...]
 

Discussion

Enter your comment
 
 
blog/2010/05/oracle_locked_session.txt · Last modified: 2010/05/05 19:26 by MeaCulpa     Back to top
Recent changes RSS feed Creative Commons License Powered by PHP Driven by DokuWiki