racle 锁表查询 和 解锁
2009年08月25日 星期二 08:19 P.M.
最近遇到这样一个问题,操作一个表,发现被人锁定了,于是查询谁锁定的表,发现多人锁定,安全起见,不能全部kill,于是用一下语句判定,谁锁定,谁等待。
Sql代码
--查询谁锁定,谁等待
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;
--释放session Sql 语法:
--alter system kill session 'sid, serial#'
--例子:
2009年08月25日 星期二 08:19 P.M.
最近遇到这样一个问题,操作一个表,发现被人锁定了,于是查询谁锁定的表,发现多人锁定,安全起见,不能全部kill,于是用一下语句判定,谁锁定,谁等待。
Sql代码
--查询谁锁定,谁等待
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;
--释放session Sql 语法:
--alter system kill session 'sid, serial#'
--例子:
alter system kill session '379, 21132';
转自:http://wenku.baidu.com/link?url=SZ3vxit6uc7OGS7IqW783HfWf-A21LKvVWvBY7LOn4aHxSJCa2qPIsaEm5y5f-PE9s37mbmmWzPDHTPFJthCFZ3Fef38HB0vI3SlcASXlFe