16
2020
11

解释什么是死锁,如何解决Oracle中的死锁?

简言之就是存在加了锁而没有解锁,可能是使用锁没有提交或者回滚事务,如果是表级锁则不能操作表,客户端处于等在状态,如果是行级锁则不能操作锁定行 



解决办法: 

1). 查找出被锁的表 

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; 


2). 杀进程中的会话 


alter system kill session "sid,serial#"; 

 

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。