数据库中容易引起死锁的问题很多,其中一个就是使用子查询删除数据的时候很容易引起,尽量避免通过子查询来删除数据,当存在锁的时候表基本上查询不了数据或者程序会发生nowait的异常提示,清除数据锁的方法如下:
declare cursor mycur is
select b.sid,b.serial#
from v$locked_object a,v$session b
where a.session_id = b.sid group by b.sid,b.serial#;
begin
for cur in mycur
loop
execute immediate ( 'alter system kill session '''||cur.sid || ','|| cur.SERIAL# ||''' ');
end loop;
end;
执行上面的sql后数据库中的所有锁全部清除。