首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle中的分区和高水区标记

问Oracle中的分区和高水区标记
EN

Stack Overflow用户
提问于 2012-03-29 11:56:23
回答 2查看 3.2K关注 0票数 3

Oracle数据库中表的高水标记(HWM)是已使用的块和从未使用过的块之间的线。截断表将HWM重置为零。

现在,如果我有一个分区表,我想知道以下内容是否属实:

  1. 每个分区是否维护自己的HWM?
  2. (如果没有),alter table ... drop partition ...是否影响表的HWM?

?

我的想法是用insert /*+ append */ (直接路径插入)填充分区的表,但是它只写入HWM之外的数据,所以如果我重新创建分区,空间会被重用吗?我找不到这方面的信息。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-29 12:06:37

每个分区是一个单独的段,因此每个分区都有自己的HWM。我认为截断整个表将重置所有分区的HWM。您也可以截断各个分区,这肯定会重置分区的HWM。

票数 4
EN

Stack Overflow用户

发布于 2012-03-29 12:33:01

除了direct的回答外,还回答了第二个问题:如果您截断分区,HWM将为零,因此将重新获得空间用于直接路径插入(空间将被使用)。如果您删除分区,空间将为任何其他段使用。特别是你的新分区。

所以,用更少的话说:

如果截断分区,

  • 将为此分区提供空间。如果您删除分区,该空间对于表空间中的每个段都是可用的。

另外,如果您想要重用空间,另一个方法是执行一个alter table move partition。这将“重新创建”分区,而不会丢失数据。还有更多的细节,但这是你的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9924838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档