暂无图片
Oracle上的INTTRANS和MAXTRANS有什么作用?
我来答
分享
语菲
2022-12-17
Oracle上的INTTRANS和MAXTRANS有什么作用?

Oracle上的INTTRANS和MAXTRANS有什么作用?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新

Oracle段中的每个块都有一个块首部。这个块首部中有一个事务表。事务表中会建立一些条目来描述哪些事务将块上的哪些行/元素锁定。这个事务表的初始大小由对象的INITRANS设置指定(表和索引上的默认值为2)。事务表会根据需要动态扩展,最大达到MAXTRANS个条目。所分配的每个事务条目需要占用首部中的23~24字节的存储空间。注意:对于Oracle Database 10g,MAXTRANS则会被忽略,所有段的MAXTRANS都是255。

暂无图片 评论
暂无图片 有用 2
打赏 0
暂无图片
szrsu
2022-12-17
路过,学习了。。。。。。。
Ty3306
2022-12-18
路过,学习了,先收藏 https://www.modb.pro/issue/18975
watson

这两个参数决定了在分配给这个表的block上初始的并发操作数和最大的并发操作数.
建表时, 指定MINTRANS大小可以在block中预留相应的空间, MAXTRANS参数一般为255, 但在block上并发的trans不一定能达到255个, 原因之一就是因为block上可能会没有足够的空闲空间来分配给新的transition.

暂无图片 评论
暂无图片 有用 0
打赏 0
风车

initrans 1 --初始化事务槽的个数,maxtrans 255 --最大事务槽的个数
当 BLOCK 上某笔 ROW 被交易更新锁定时,会在 BLOCK header ITL allocate 一个锁,当下一个交易要更新同一笔 row 时,就会发现他已经被先前的交易持有锁了,会先去检查该交易是否 active? 如果是,后来的该笔交易就会被 blocking ,等待 ) 如果一个表格需要同时有大量交易存取,你应该设定 INITRANS 大一点,可以减少 ITL 还要动态扩充的 Overhead

暂无图片 评论
暂无图片 有用 0
打赏 0
suger

路过,学习了,先收藏https://www.modb.pro/issue/18975

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏