DB2表空间大小不匹配

时间:2013-09-06 08:35:10

标签: sql database db2

我正在尝试获取DB2 EEE设置的表空间大小。 当我执行以下命令时:

db2 => list tablespaces 
 Tablespace ID                        = 1
 Name                                 = TEMPSPACE1
 Type                                 = System managed space
 Contents                             = System Temporary data
 State                                = 0x0000
   Detailed explanation:
    Normal
 Total pages                          = 1
 Useable pages                        = 1
 Used pages                           = 1
 Free pages                           = Not applicable
 High water mark (pages)              = Not applicable
 Page size (bytes)                    = 4096
 Extent size (pages)                  = 32
 Prefetch size (pages)                = 32
 Number of containers                 = 1

上面的命令适用于单实例数据库,而在DB2EEE的情况下,我们需要从每个节点获取表空间大小并将其添加或以其他方式使用下面的查询:

db2 -c "select TABLESPACE_NAME,usable_pages as TBSPC_Pages from table (snapshot_tbs_cfg ('DB2EEE',-2))

TABLESPACE           2                    TABLESPACE_SIZE
----------------------------------------- --------------------
TEMPSPACE1            0                    0

上面的查询返回同一表空间的页数为'0',而上一个命令将其返回为'1'。

知道上述哪一项是正确的,为什么? 或者是否有任何其他方法可以在DB2中找到表空间的大小(单个noe和EEE实例)

1 个答案:

答案 0 :(得分:0)

即使这个表函数已被弃用(在DB2 9.1中已弃用),这看起来像SNAPSHOT_TBS_CFG中的一个错误,已在更新的版本中得到纠正(我在9.7中没有看到这个错误) 0.3)。它已被更有用的SNAPTBSP_PART管理视图所取代。

请注意,对于DPF(néeEE),使用此表函数与数据库分区号(-2)的全局参数不是特别有用,因为它在其输出中包含数据库分区号 - 所以对于跨越多个数据库分区的表空间,您将获得多行返回,无法分辨哪一行来自哪个数据库分区。