Mintrans and Maxtrans
Mintrans 和Maxtrans 是Segment 的物理属性。
当transcation队列作用于 data block 上时,队列的大小
由创建此table 时的Minitrans 参数决定。如果
有多个Trans 需要访问此Block 并且此Block有足够的空间,
这个队列的数量将会增长到maxtrans.
如果已经到了maxtrans 的数量但仍然有trans 访问此block.
那么大于maxtrans 的trans 只能等前面的trans 提交后才能
进行trans 操作,否则只能等待。
Example:
Session 1:
create table t_ (a number) initrans 1 maxtrans 2;
insert into t_ values (1);
insert into t_ values (2);
insert into t_ values (3);
commit;
update t_ set a = 101 where a = 1;
Session 2:
update t_ set a = 102 where a = 2;
Session 3: (等待)
update t_ set a = 103 where a = 3;
直到 Session1,2 中某个Commit,rollback 后才能对session 3 处理,
不然Session 3 一直处于等待状态。