select rpad(oracle_username, 10) o_name, session_id sid, decode(locked_mode, 0, 'None', 1, 'Null', 2, 'Row share', 3, 'Row Exclusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive') lock_type, object_name, xidusn, xidslot, xidsqn from v$locked_object, all_objects where v$locked_object.object_id = all_objects.object_id; SELECT /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name, o.owner,o.object_name,o.object_type,s.sid,s.serial# FROM v$locked_object l,dba_objects o,v$session s WHERE l.object_id=o.object_id AND l.session_id=s.sid ORDER BY o.object_id,xidusn DESC
查询上锁的SQL:
SELECT /*+ ORDERED */ sql_text FROM v$sqltext a WHERE (a.hash_value, a.address) IN ( SELECT DECODE (sql_hash_value,0, prev_hash_value,sql_hash_value), DECODE (sql_hash_value, 0, prev_sql_addr, sql_address) FROM v$session b WHERE b.SID = '681') ---681换成自己的SID ORDER BY piece ASC
杀掉对应进程
执行命令:
alter system kill session'1025,41';
其中1025为sid,41为serial#。