ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 2、块结构(2 Data Blocks, Extents, and Segments)

2、块结构(2 Data Blocks, Extents, and Segments)

原创 Linux操作系统 作者:wxdlut 时间:2012-03-15 22:22:19 0 删除 编辑
在每个数据段(data segment)与索引段(index segment)中,Oracle管理着一个或多个可用块列表(free list--其中列出了所有属于此段的数据扩展(extent),且可用空间比例大于 PCTFREE 限定的数据块。这些块可以被插入(insert)操作使用。当用户提交了 INSERT 语句后,Oracle从可用块列表中选择第一个有效的数据块使用。如果此数据块的可用空间不够容纳 INSERT 语句提交的数据,且此块的占用容量已经超过PCTUSED 的限定,Oracle就将其从可用块列表中移出。一个段可以同时使用多个可用块列表,以减少对一个表进行并发插入(concurrent insert)时产生的竞争。

         当用户提交了 DELETE UPDATE 语句后,Oracle处理语句并检查相关数据块中的占用空间比例是否小于 PCTUSED 的规定。如果满足,那么这个数据块就被放入当前事务(transaction)正在使用的可用块列表(free list)的头部,如果当前事务还需要写入数据,此块将被首先使用。当事务提交后,此数据块中的可用空间还可被其他事务使用。

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

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

注册时间:2012-03-09

  • 博文量
    61
  • 访问量
    61423