ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【转】Oracle学习笔记:INITRANS和MAXTRANS参数的作用

【转】Oracle学习笔记:INITRANS和MAXTRANS参数的作用

原创 Linux操作系统 作者:ljm0211 时间:2012-06-20 15:19:43 0 删除 编辑

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


也就是说,如果某个事物锁定了这个块的数据,则会在这个地方记录事务的标识,当然那个事务要先看一下这个地方是不是已经有人占用了,如果有,则去看看那个事务是否为活动状态。如果不活动,比如已经提交或者回滚,则可以覆盖这个地方。如果活动,则需要等待(闩的作用)

所以,如果有大量的并发访问使用的这个块,则参数不能太小,否则资源竞争将导致系统并发性能下降。

文章出处:DIY部落(http://www.diybl.com/course/7_databases/oracle/oraclexl/200919/154477.html)

pctfree:当一个块的使用空间达到100-pctfree值时,这个块从自由列表脱离。比如pctfree为10,那么当这个块使用90%的时候将会脱离freeelist,后续的insert将不会用到这个block。
  
pctused:当一个block经历delete操作使已使用空间降到pctused值后,此块重新被加入freelist,后续的insert将会用到这个block。
  
initrans:初始化了一个block的同时进行的事务数,随着事务数量增加可以达到maxtrans上界,一个trans在block里包含24个字节。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11411056/viewspace-733395/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-05-14

  • 博文量
    272
  • 访问量
    436726