--------------解锁
alter system kill session 'sid,serial';
--------------查询锁表用户
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;
--是查询谁锁定的表,发现多锁定,安全起见,不能全部kill,于是用一下语句判定,谁锁定,谁等待。
SELECT /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name,
o.owner,o.object_name,o.object_type,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
ORDER BY o.object_id,xidusn DESC
--如果发生了锁等待,我们可能更想知道是谁锁了表而引起谁的等待
--以上的语句可以查询到谁锁了表,而谁在等待。
--以上查询结果是一个树状结构,如果有子节点,则表示有等待发生。
--如果想知道锁用了哪个回滚段,还可以关联到V$rollname,其中xidusn就是回滚段USN
--找出谁锁定的记录,kill掉就行了。
分享到:
相关推荐
Oracle的锁表与解锁
oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁oracle解锁,死锁
针对oracle数据库 解锁方法 ,个人使用 希望大家能够有所帮助
基于oracle数据库开发的应用,在发生锁情况下,如何检查锁和解锁
oracle查锁和解锁命令
oracle解锁语句,常用解锁语句,经过测试实用;oracle解锁语句,常用解锁语句,经过测试实用。
oracle用户解锁
oracle用户解锁
oracle锁表和解锁语句示例。
orale检查锁表,以及对表进行解锁的方式说明
oracle 用户被锁定解锁方法
解锁oracle对象
数据库死锁的概念, 所谓死锁,是指两个会话,每个会话都持有另外一个会话想要的资源,因争夺资源而造成...对于锁死的会话,我们可以直接删掉该会话,等事物回滚完成,也可以找出锁死进程的spid,从服务器中删掉该进程。
如果存储过程被锁住,可以使用这个存储过程解锁方法
Oracle 数据库解锁session方式
select object_name,session_id,os_user_name,Oracle_username,process,locked_mode,status from v$locked_object l, all_objects a where l.object_id=a.object_id;
ORACLE解锁方法的一点资料分享。
oracle 解锁表,可以用此字句,对表进行解锁,但是要有相应的权限
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',...
oracle查询锁表和解锁。oracle在操作的过程中经常会遇到锁表的情况,一般能够用kill命令消除。