oracle 查锁 杀锁 批量处理锁
今天开发同事代码bug,导致数据库多张表被锁,我又重新复习了下oracle杀锁,并记录下来
author:石鲁坤
查询数据库锁的情况,使用具有DBA权限账户或者system账户执行
单个锁或者少许锁
SELECT l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
s.user#,
l.os_user_name,
s.machine,
s.terminal,
a.sql_text,
a.action
FROM v$sqlarea a, v$session s, v$locked_object l
WHERE l.session_id = s.sid AND s.prev_sql_addr = a.address
ORDER BY sid, s.serial#;
--kill session语句
alter system kill session'50,492';
或者用下面语句
查看被锁的表
SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name
FROM v$process p, v$session a, v$locked_object b, all_objects c
WHERE p.addr = a.paddr
AND a.process = b.process