–查看被锁住的表
SELECT
A.OWNER, --OBJECT所属用户
A.OBJECT_NAME, --OBJECT名称(表名)
B.XIDUSN,
B.XIDSLOT,
B.XIDSQN,
B.SESSION_ID, --锁表用户的session
B.ORACLE_USERNAME, --锁表用户的Oracle用户名
B.OS_USER_NAME, --锁表用户的操作系统登陆用户名
B.PROCESS,
B.LOCKED_MODE,
C.MACHINE, --锁表用户的计算机名称(例如:WORKGROUP\UserName)
C.STATUS, --锁表状态
C.SERVER,
C.SID,
C.SERIAL#,
C.PROGRAM --锁表用户所用的数据库管理工具(例如:ob9.exe)
FROM
ALL_OBJECTS A,
V$LOCKED_OBJECT B,
SYS.GV_$SESSION C
WHERE
A.OBJECT_ID = B.OBJECT_ID
AND B.PROCESS = C.PROCESS ;
—解锁
alter system kill session '255,1102';
查询被锁住的表
select object_name,machine,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;
解锁
alter system kill session 'sid, serial#';
查看被锁住的表及拼接解锁的sql
SELECT b.OWNER,b.OBJECT_NAME,a.SESSION_ID,a.LOCKED_MODE,c.SERIAL#,c.PROGRAM,c.machine,'ALTER SYSTEM KILL SESSION ''' || c.SID || ',' || c.SERIAL# || ''';' KILL
FROM v$locked_object a,dba_objects b,gV$SESSION c where a.OBJECT_ID = b.OBJECT_ID and a.session_id = c.SID;