一般情况下,多个进程或线程同事对数据表进行编辑或新增的时候,会造成资源争抢,处于数据库的自我保护机制,有时候会产生锁表现象,例如:某种场景下会提示以上死锁问题。

解决方式如下:可尝试

检查数据库对象与被锁定对象联合查询被锁定的表

1.select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_objects a,dba_objects b where a.object_id=b.object_id;

查看引起死锁的会话

2.select b.username,b.sid,b.serial#,logon_time

from v$locked_objects a,v$session b where a.session_id=b.sid order by b.logon_time;

查看被阻塞的会话

3.select * from dba_waiters;

杀敌引起死锁的会话id

4.alter system kill session 'sid,serial#’

‘;

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐