Teradata space up issues

Teradata space up issues

我很难理解我们目前使用的从储备 [=18= 增加 space 和减少 space(space 上下)的程序] 是 space down 作业的一部分:

LOCKING DBC.DiskSpace FOR ACCESS
 SELECT 
     (( (T1.MAXPERM) - (T1.MAXCURRENTPERM * T1.NUMAMPS))
              - (T2.SPACE_LEFT + T1.NUMAMPS)) (FORMAT 'Z(15)9') 
     INTO :var_SpaceAdj
  FROM Ctrl_Base.Space_Ctrl T2
       ,(
   SELECT DATABASENAME, SUM(MAXPERM), MAX(CURRENTPERM), COUNT(*)
    FROM DBC.DiskSpace
    WHERE DATABASENAME = :inP_Database
     GROUP BY 1) 
           AS T1 (DATABASENAME, MAXPERM, MAXCURRENTPERM, NUMAMPS)
   WHERE T1.DATABASENAME = T2.DATABASENAME
   AND (( (T1.MAXPERM) - (T1.MAXCURRENTPERM * T1.NUMAMPS))
      - (T2.SPACE_LEFT + T1.NUMAMPS)) >= 1000000
       ;

Acn 任何人请帮助我了解这是在做什么? 我们有一个 Ctrl_Base.Space_Ctrl table,我们在其中指定增加的百分比,同时 space 向上和 space 向左进入

此致, 阿米特

((T1.MAXPERM) - (T1.MAXCURRENTPERM * T1.NUMAMPS))

T1.MAXPERM - 这是数据库

中分配的总数space

T1.MAXCURRENTPERM - 这是消耗最多 space 的 AMP 中的 space。由于数据是由 table 的 PI 分发的,数据分布不均会导致数据库报告没有 space,而消耗最高 space 的 AMP 无法存储更多数据。

(T1.MAXCURRENTPERM * T1.NUMAMPS) - 计算数据库的 consumed space基于消耗最多的 AMP space。考虑到数据库中数据分布不均。

派生的 table T1 应该是直截了当的。它只是将 space 信息聚合到 DBC.DiskSpace.

中的 AMP、DatabaseName 级别的数据库级别

WHERE 子句的后半部分放置了一个条件,即 T1 中的数据库 space 与控件 table 的 Space_Left 列的差异大于等于1M字节。

希望对您有所帮助。