1)用dba用户执行以下语句 SELECT substr(v$lock.sid,1,4) "SID", --ssession_id substr(username,1,12) "UserName", --Username:死锁语句所用的数据库用户; substr(object_name,1,25) "ObjectName",--ObjectName:死锁对应的表; v$lock.type "LockType", decode(rtrim(substr(lmode,1,4)), '2','Row-S (SS)','3','Row-X (SX)', '4','Share', '5','S/Row-X (SSX)', '6','Exclusive', 'Other' ) "LockMode", substr(v$session.program,1,25) "ProgramName" FROM V$LOCK,SYS.DBA_OBJECTS,V$SESSION WHERE (OBJECT_ID = v$lock.id1 AND v$lock.sid = v$session.sid AND username IS NOT NULL AND username NOT IN ('SYS','SYSTEM') AND SERIAL# != 1); 2)死锁的解决方法 select 'alter system kill session ',''''||trim(t2.sid)||','||trim(t2.serial#)||''';' from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time; kill掉这个死锁的进程:alter system kill session ‘sid,serial#’; (其中sid=l.session_id)
oracle中查看死锁
最新推荐文章于 2024-05-21 18:51:16 发布