1.用dba权限的通过查看v$locked_object和v$session视图找出被锁对象的SID和SERIAL
SQL> select t2.username, t2.sid, t2.serial#,
t2.logon_time, t2.sql_hash_value from v$locked_object t1,v$session
t2 where t1.session_id=t2.sid order by t2.logon_time;
USERNAME SID SERIAL# LOGON_TIME SQL_HASH_VALUE
-------------------- ---------- ---------- ------------------
--------------
IUIM 69 26799 28-MAY-13 2892509467
2.通过SID查处执行的sql语句内容
SQL> select sql_text from v$session
a,v$sqltext_with_newlines b where a.sql_hash_value=b.hash_value and
sid=69 order by b.piece;
SQL_TEXT
----------------------------------------------------------------
select sql_text from v$session a,v$sqltext_with_newlines b
where
a.sql_hash_value=b.hash_value and sid=69 order by
b.piece
3.kill 对应的进程
SQL> alter system kill session '69,26799';
alter system kill session '69,26799'
*
ERROR at line 1:
ORA-00027: cannot kill current session
4.若出现oracle结束进程无效的现象,可以找出OS对应的spid 用kill -9 32655 结束
SQL> select spid, osuser,
s.program
2 from v$session s,v$process
p
3 where s.paddr=p.addr and
s.sid=69;
SPID OSUSER PROGRAM
------------------------ ------------------------------
------------------------------------------------
32655