1.查询引起了锁表的原因
1select l.session_id sid, 2 s.serial#, 3 l.locked_mode, 4 l.oracle_username, 5 s.user#, 6 l.os_user_name, 7 s.machine, 8 s.terminal, 9 a.sql_text, 10 a.action 11 from v$sqlarea a, v$session s, v$locked_object l 12 where l.session_id = s.sid 13 and s.prev_sql_addr = a.address 14 order by sid, s.serial#;
2.查询被锁的表
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id
3.查看是哪个session引起的
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time
4.杀掉对应进程即解锁
1--其中99是sid 178是serial# 2alter system kill session '99,178'