预测Oracle表增长

时间:2009-01-30 20:57:30

标签: database oracle

如何预测Oracle表的未来规模/增长?

假设:

  • 行数的线性增长
  • 基本数据类型的已知列(字符,数字和日期)
    • 忽略varchar2的可变性
    • 基本了解存储它们所需的空间(例如number
  • blocks, extents, segmentsblock overhead
  • 的基本了解

我正在寻找比“立即衡量,等待,再次衡量”更积极主动的事情。

3 个答案:

答案 0 :(得分:3)

  1. 根据您的数据类型估算平均行大小。
  2. 估算块中的可用空间。这将是块大小减去块头大小减去PCTFREE剩余的空间。例如,如果块头大小为100字节,则PCTFREE为10,块大小为8192字节,则给定块中的可用空间为(8192 - 100) * 0.9 = 7282
  3. 估算该空间中适合的行数。如果平均行大小为1 kB,则大约7行将适合8 kB块。
  4. 估算您的增长率,以每个时间单位为单位。例如,如果您预计每年有一百万行,那么每8 kB块有7行,您的表每年将增长大约1 GB。

答案 1 :(得分:0)

我怀疑估计将取决于问题域的100%。您提出的方法似乎是一个很好的通用程序。

答案 2 :(得分:0)

根据您的假设,“测量,等待,再次测量”是完全可预测的。在10g + Oracle中,甚至可以为您“测量,等待,再次测量”。 http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_3165.htm#I1023436