加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

table、segment、extent、block之间的关系

(2014-04-29 15:39:31)
分类: Oracle体系结构

这些都是Oracle存储的逻辑结构。
BLOCK是Oracle存储的最基本单位,由DB_BLOCK_SIZE指定,通常为8KB,也可以定义为2KB,4KB,16KB,32KB,64KB等,磁盘最小存储单位是sector(512BYTE),Oracle数据块由连续的sector组成Oracle读写单位是数据块,应尽量设置BLOCK大小为磁盘数据块大小的整数倍,避免IO浪费
连续的数据块组成一个分区extent,便于空间管理,包括空间的分配和释放。

段的空间是以分区为单位分配的,提高了分配空间的效率,但是带来了空间碎片。

Oracle每个表或索引都会对应这一个段。如果使用分区表或者分区索引,每个分区(partition)都对应着一个段。每个段都有名字,即对象(表、索引)的名字,段由extent组成,但不要求连续。

一个table至少是一个segment,如果分区表,则每个分区是一个segment,table可以看成是一个逻辑上的概 念,segment可以看成是这个逻辑概念的物理实现;segment由一个或多个extents组成,segment不可以跨表空间但可以跨数据文件;extent由多个连续的blocks组成,不可以跨数据文件;block由1-多个os块组成,是oracle i/o的最小存储单位

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有