以下SQL文可以查询锁表的ip,锁表的SQL等信息。
SELECT l.session_id, s.serial#,s.machine, o.object_name, s.logon_time
, SYS_CONTEXT('USERENV','IP_ADDRESS') as ip
, v.TYPE,t.name,t.DESCRIPTION
, a.SQL_FULLTEXT
FROM v$locked_object l
, dba_objects o
, v$session s
, v$lock v
, v$lock_type t
, v$sqlarea a
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
and l.session_id=v.sid
and v.type=t.type
and s.prev_sql_addr = a.address
ORDER BY l.session_id, s.serial# ;
查出来信息后,可以用如下方法终止锁表。
alter system kill session 'session_id,serial#';