看过很多网上查询表的死锁与解锁的文章和问答,
感觉日常数据库操作中不需要了解的那么全面,
而且最重要的是记不住,每次都要去百度搜语句,
再一个个的看字段,
找数据表,
找进程号和序列号,,,,,,
SO
/*查询锁的进程号及序列号*/
select t2.sid, /*进程号*/
t2.serial#, /*序列号*/
t3.object_name, /*表名*/
t2.username /*用户名*/
from v$locked_object t1,
v$session t2,
dba_objects t3
where t1.SESSION_ID=t2.SID and
t1.OBJECT_ID=t3.OBJECT_ID;
/*解锁*/
alter system kill session 'sid, serial#';
解释一下各个表和视图的意思:
v$locked_object:视图。所有session中所有被锁定的对象信息
v$session:视图。所有session信息
dba_objects:表。Oracle用户对象及系统对象的集合,包含被锁定对象的详细信息