Oracle查询锁表

-- 查询Oracle正在执行的SQL语句以及发起的用户
select b.sid oracleid,b.username 用户名,b.serial#,paddr,sql_text 正在执行的SQL,b.MACHINE 计算机名称 from v$process a,v$session b,v$sqlarea c
where a.addr=b.paddr and b.sql_hash_value = c.HASH_VALUE

--查询当前被锁的表
select l.session_id sid,s.serial#,l.locked_mode 锁模式,
l.oracle_username 登录用户,l.OS_USER_NAME 机器用户名,s.machine 机器名,s.terminal 终端用户名,
o.object_name,s.logon_time 登录数据库时间
from v$locked_object l,all_objects o,v$session s
where l.object_id=o.object_id and l.session_id=s.sid order by sid,s.serial#;

-- 解除锁命令
alter system kill session 'sid,serial#'


-- 批量生成解锁语句
select 'alter system kill session "'||l.session_id||','||s.serial#||'";'
from v$locked_object l,all_objects o,v$session s
where l.object_id=o.object_id and l.session_id=s.sid 
and object_name='SHZG_ZJ_USER' order by sid,s.serial#;
 

上一篇:python serial模块连接串口并发送命令


下一篇:Java虚拟机详解(四)------垃圾收集器