ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于ASSM和pctfree,pctused,freelists,freelist groups参数

关于ASSM和pctfree,pctused,freelists,freelist groups参数

原创 Linux操作系统 作者:NinGoo 时间:2019-07-14 22:30:02 0 删除 编辑

Oracle9i在本地表空管理(LMT)的基础上,对段空间管理也引入了位图管理(Segment Space Management Auto)来取代原来的freelist管理方式(Segment Space Management Manual)。

在手动段空间管理(MSSM)中,HWM之下的空闲block都在freelist上,当insert导致block的可用空间少于pctfree指定的值后,block将从freelist上摘下。Insert时只会从freelist上来查找可用块,所以摘下的block将不能再被用于insert。那么当block中的记录被delete,出现大量可用空间的时候,就需要将block再次放到freelist上,pctused参数就是用来指示可用空间大于多少的时候可以将block重新放回freelist上的。

而在自动段空间管理(ASSM)中,使用了位图来追踪block的空间使用情况,insert通过扫描位图来查找可用的block,即使block的可用空间低于pctfree,也不会从位图中摘除,也就不需要一个pctused参数来指示什么时候将block放回位图中了,所以pctused参数在ASSM中不再需要。而对于pctfree参数,依旧需要它来指示需要保留多少空间给后续的update导致的行数据增长使用。如果没有pctfree,block在insert时将可以使用所有的可用空间,当update导致行数据增长时,就会发生行迁移。

freelists和freelist groups参数是用来控制freelist的个数,在ASSM中自然无用武之地了。


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

上一篇: 关于initrans参数
请登录后发表评论 登录
全部评论

注册时间:2004-12-07

  • 博文量
    200
  • 访问量
    170689