enqueue waits


可能的原因:
1.等待事件表明正在请求一个其他会话持有的不兼容的锁


TX Transaction Lock 
1.通常是由于表或者应用设置的问题
2.这个表明竞争一个row-level lock,等待发生在当一个事物试图去更新或者删除被另一个事物锁定的行
3.通常是应用的问题


TM DML enqueue lock
1.通常是应用的问题
2.特别如果是外键约束没有加索引




解决方法:
减少等待和等待时间
TX enqueue
1.找到等待的会话,杀掉进程
--查看锁定的对象
SELECT 'alter system kill session '''|| sid ||',' || serial# || ''';',object_name, machine, s.sid, s.serial# 
FROM gv$locked_object l, dba_objects o, gv$session s 
WHERE l.object_id = o.object_id 
AND l.session_id = s.sid;


TM enqueue

主要原因是外键没有建立索引,创建外键列的索引


--本文乃原创文章,请勿转载。如须转载请详细标明转载出处

你可能感兴趣的:(oracle,wait,events)