超时分布式事务处理等待锁解决办法

Posted Cinderella_008

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超时分布式事务处理等待锁解决办法相关的知识,希望对你有一定的参考价值。

--使用SYS as sysdba用户角色登录

--查找被死锁的语句

select sql_text from v$sql where hash_value in (select sql_hash_value from v$session where sid in (select session_id from v$locked_object));

--查找被死锁的进程:

SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#, l.ORACLE_USERNAME, l.OS_USER_NAME,l.PROCESS FROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID;

--把死锁的进程kill:

--alter system kill session sid,serial#;

--(其中sid=l.session_id

比如:

alter system kill session '12,244'; --(其中sid=l.session_id)

 

以上是关于超时分布式事务处理等待锁解决办法的主要内容,如果未能解决你的问题,请参考以下文章

ORA-02049: 超时: 分布式事务处理等待锁

MySQL锁(死锁)

分布式事务(第04篇)分布式事务解决方法-3PC

oracle 死锁和锁等待的区别,锁等待

MySQL事务没有提交导致 锁等待Lock wait timeout exceeded异常的处理办法

MySQL 锁等待超时(Lock wait timeout exceeded)