Oracle 如何填充添加到表空间的数据文件?

5 oracle

我有一个包含 50% 使用的数据文件的表空间。如果我向表空间添加一个新的数据文件 -

  1. 第一个数据文件是否会继续使用直到达到满容量,然后才开始使用第二个数据文件
  2. 当数据更改写入新数据文件时,第一个数据文件将永远只使用 50%
  3. 还有什么我没有想到的事情发生了吗?

我需要此信息来规划处理增加表空间大小而不浪费物理空间的策略。

Jus*_*ave 8

通常,在表空间中的所有数据文件之间以循环方式分配区,只要这些数据文件有足够的可用空间来分配区。因此,如果您添加一个新数据文件,您通常会期望新区的一半将分配在现有数据文件中,而新区的一半将分配在新数据文件中。假设两个数据文件的大小相同,您通常会期望当第一个数据文件达到 100% 满时,第二个数据文件将大约 50% 满。

但是,我不确定这如何帮助您在不浪费物理空间的情况下处理增加的表空间大小。我很难想象在什么情况下知道如何分配范围会帮助您使用更少的物理空间。从这个角度来看,是将现有数据文件的大小加倍、添加新数据文件还是添加多个数据文件都无关紧要,并且在开始使用下一个数据文件之前是否填满了一个数据文件也无关紧要. 在任何情况下,您都在操作系统级别分配了相同数量的空间,您在表空间中分配了相同数量的区,并且您的段大小都相同。

您可以通过让数据文件自动扩展而不是分配固定大小的数据文件来减少在操作系统级别分配的空间量,但是您必须监视操作系统级别的可用空间以确保数据文件都有足够的空间增长,您可能会复杂化您将数据文件移动到不同挂载点的能力。您还可以减少备份中可以获得的并行量,从而迫使备份作业运行更长的时间。