oracle TX enqueue 分析
来源:互联网 发布:乐乎青年公寓联系电话 编辑:程序博客网 时间:2024/05/27 09:45
1.'enq: TX - row lock contention'
事物插入/更新/删除数据记录加的锁可以能造成此事件原因有
唯一约束
bitmap索引
外键约束
2.'enq: TX - allocate ITL entry'发生在事物请求对数据块中的记录加锁时产生
原因:
initrans太小,没有保留足够的itl空间
maxtrans不足,maxtrans默认255,但实际大小受到块大小的设置,实际达不到255个
索引块上的递归事物itl slot争用(索引分裂)
3.'enq: TX - index contention'
索引分裂(index split)造成的
当在基于索引的表中插入或者更新记录时,此时正好另一会话事务正在操作这个索引块正处于分裂状态(即索引块分裂)
查询锁表:(查询出锁的类型,对象以及会话用户等)
select ls.osuser os_user_name,
ls.username user_name,
ls.type,
decode(ls.type,
'RW',
'Row wait enqueue lock',
'TM',
'DML enqueue lock',
'TX',
'Transaction enqueue lock',
'UL',
'User supplied lock') lock_type,
o.object_name object,
decode(ls.lmode,
1,
null,
2,
'Row Share',
3,
'Row Exclusive',
4,
'Share',
5,
'Share Row Exclusive',
6,
'Exclusive',
null) lock_mode,
o.owner,
ls.sid,
ls.serial# serial_num
from sys.dba_objects o,
(select s.osuser,
s.username,
l.type,
l.lmode,
s.sid,
s.serial#,
l.id1,
l.id2,
ld.OBJECT_ID
from v$session s, v$lock l, v$locked_object ld
where s.sid = l.sid
and s.sid = ld.SESSION_ID) ls
where o.object_id = ls.object_id
and o.owner <> 'SYS'
order by o.owner, o.object_name
查询发生锁等待的语句:
select w.waiting_session,
s2.username waiting_user,
q2.sql_text waiting_sql
from dba_waiters w, v$session s2, v$sqlarea q2
where w.waiting_session = s2.sid
and s2.sql_address = q2.address;
找出造成锁等待的语句以及会话sid:
select w.holding_session,
s1.username holding_user,
q1.sql_text holding_sql
from dba_waiters w,
v$session s1,
v$open_cursor q1,
v$locked_object l1,
dba_objects o1
where w.holding_session = s1.sid
and s1.sid = q1.sid(+)
and l1.session_id = s1.sid
and l1.object_id = o1.object_id
and (upper(q1.sql_text) like '%DELETE%' or upper(q1.sql_text) like '%UPDATE%')
and upper(q1.sql_text) like '%'||o1.object_name||'%';
查询锁的等待事件:
select s.sid, s.event
from v$session_event s, v$enqueue_lock l
where s.sid = l.sid
and s.event like 'enq: TX%';
0 0
- oracle TX enqueue 分析
- TX enqueue DRM
- oracle enqueue (zt)
- oracle enqueue-总结01
- Oracle 11gR2 enqueue waits
- Oracle 之 TX锁
- Oracle enq: TX
- Spring TX源码分析
- Introduction to Oracle Locking and Enqueue
- enqueue:HW问题分析与解决
- Oracle wait event --- enq: TX
- TX游戏多开分析
- 你有多了解Oracle Enqueue lock队列锁机制?
- tx
- TX
- TX
- TX
- TX
- 探秘static——类不需实例化就能用?
- 【网络协议】HTTP协议笔记
- SVN中tag branch trunk用法详解
- iOS 7 statusBar适配
- eclipse启动报错
- oracle TX enqueue 分析
- Myeclipse8.5 反编译插件 jad 安装
- epoll 事件类型
- 记住用户名(在多长时间不用重复登录)
- Nginx负载均衡
- 过去几个月出炉的30款最喜欢的 jQuery 插件
- iOS 在tableView上添加button导致按钮没有点击效果和不能滑动的问题
- maintainScrollPositionOnPostBack不起作用,WebForm_SaveScrollPositionSubmit is not defined
- RGB查看器