select count(*) from v$locked_object; --查询锁表有几个
select * from v$locked_object; --查询锁表的基本信息
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
--查询sessionId
alter system kill session '212,6015';--杀进程
或者可以用:
SELECT A.OWNER 方案名,A.OBJECT_NAME 表名,B.XIDUSN 回滚段号,B.XIDSLOT 槽号,B.XIDSQN 序列号,
B.SESSION_ID 锁表SESSION_ID,B.ORACLE_USERNAME 锁表用户名,
decode(D.type,'XR','NULL','RS','SS(Row-S)','CF','SS(Row-S)','TM','TABLE LOCK','PW','TABLE LOCK','TO',
'TABLE LOCK','TS','TABLE LOCK','RT','ROW LOCK','TX','ROW LOCK','MR','S(Share)',NULL) 锁定方式,
C.MACHINE 用户组,C.TERMINAL 机器名,B.OS_USER_NAME 系统用户名,B.PROCESS 系统进程id,
DECODE(C.STATUS, 'INACTIVE', '不活动', 'ACTIVE', '活动') 活动情况,C.SERVER,C.SID,C.SERIAL#,C.PROGRAM 连接方式,C.LOGON_TIME
FROM ALL_OBJECTS A, V$LOCKED_OBJECT B, SYS.GV_$SESSION C, v$lock d
WHERE (A.OBJECT_ID = B.OBJECT_ID) AND (B.PROCESS = C.PROCESS) and C.sid = d.sid AND B.LOCKED_MODE = D.LMODE ORDER BY 1, 2;
oracle查询锁情况及解锁
猜你喜欢
转载自elvishehai.iteye.com/blog/2204377
今日推荐
周排行