Data Blocks, Extents, and Segments( Content摘要系列一 )

本文详细介绍了Oracle数据库中表和索引的数据存储方式,包括如何存储在不同的段、分区以及数据文件中。此外还解释了当extents填满时Oracle如何进行扩展,以及extent分配、block管理和高水位线的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

tabledataindex是分别存储的,如果是partition  table更是把partition分别存储在不同的segment,所以partition可以存放在不同的datafile中,不同的tablespace中:

Each table’s data is stored in its own data segment, while each index’s data is stored in its own
index segment.

If the table or index is partitioned, each partition is stored in its own segment.

 

如果extents满了,Oracle内部是这样扩展的:

When the existing extents of
a segment are full, Oracle allocates another extent for that segment. Because extents are allocated as needed, the extents of a segment may or may not be contiguous on disk.

 

需注意segment可以跨datafile,但是extent不能,只能在一个datafile中:
Within a tablespace, a segment can include extents from more than one file; that is, the segment can span datafiles. However, each extent can contain data from only one datafile.

 

注意如果extent扩展后,block分配到free list但是不会自动释放,需要手工把HWM移除,这些块才能被其它使用:

If you allocate an extent to a specific instance, the blocks are immediately
allocated to the free list. However, if the extent is not allocated to a specific instance,
then the blocks themselves are allocated only when the high water mark moves.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值