在对表进行操作时无法完成出现了‘假死’ 状态,由于自己也不是很懂,于是查看了资料,总结如下:
--首先查询被锁表
select object_name, machine, s.sid, s.SERIAL#
from gv$locked_object l, dba_objects o, gv$session s
where l.OBJECT_ID = o.OBJECT_ID
and l.SESSION_ID = s.sid;
---通过上面的查询语句会查询到被锁的表,然后进行解锁
--释放session sql
--alter system kill session'sid,serial#';
例如:
alter system kill session'888,5096';
-------------------------------------------------
--查询锁表
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;
--select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;
--解锁语句
select distinct 'alter system kill session '||''''||sess.sid||','||sess.serial#||''''||';'
from v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;
alter system kill session '2002,7867';
alter system kill session '1923,52030';
alter system kill session '2033,52721';
alter system kill session '1148,49763';
alter system kill session '858,3300';
alter system kill session '2316,22953';
alter system kill session '1259,46393';