Transaction table及TX锁

来源:互联网 发布:动态sql防止sql注入 编辑:程序博客网 时间:2024/06/13 01:11

每一个block header都分配了一部分空间作为transaction table。initrans参数控制了初始大小。Oracle 11gR2里,initrans的默认值是2。 transaction table的大小,即其同时允许对该block加锁的事务数,与block中剩余空间(不仅仅是block header)大小成正比。

Transaction table entry包含了transaction identifier, 加锁的行(row) identifier。当其他事务(transaction)要对该行做更新时,它会先检查transaction table。

对于并发数比较高的系统,可以将initrans调高,以避免block空间不足,触发enq: TX - allocate ITL entry。甚至程序假死现象。



0 0
原创粉丝点击