db2数据库的大小

我怎样才能得到我的UDB DB2版本9.1数据库的大小? 我尝试从命令提示符发射getdbconfig。 它给出了所有的configuration,但不是大小。

谢谢 :)

IBM支持站点上有一个技术说明:

如何计算DB2数据库的大小

如果要计算数据库的大小和最大容量,可以使用过程GET_DBSIZE_INFO 。 此过程首先出现在DB2 Universal Database™(DB2 UDB)版本8.2中。

要执行这个程序,你应该遵循以下三个步骤:

  1. 连接到您想知道其大小和最大容量的数据库。
  2. 执行过程GET_DBSIZE_INFO
  3. closures连接。

这里是过程的语法:

  db2 call GET_DBSIZE_INFO (?,?,?,refresh-window) 

前三个参数是输出参数,刷新窗口是INTEGERtypes的input参数,指定直到caching的数据库大小和容量的值将被刷新的分钟数。

请参阅此文档链接,了解DB2 UDB V9.1中此过程的输出示例。

根据笔者的说法, 这里有一个经过9.1testing的脚本 :

将使用UNIX命令计算UNIX服务器上的DB2 LUW数据库的大小,这将使您更准确地衡量数据库使用的空间。 此脚本还将此信息存储在一个操作表中,您可以将其用作DBA监控仪表板的一部分,以帮助您监控和pipe理与增长趋势相关的空间。

GET_DBSIZE_INFO过程计算数据库大小和最大容量。 计算出的值作为过程输出参数返回,并caching在SYSTOOLS.STMG_DBSIZE_INFO表中。 该过程caching这些值,因为计算是昂贵的。 SYSTOOLS.STMG_DBSIZE_INFO表是在第一次执行过程时自动创build的。 如果存在caching在SYSTOOLS.STMG_DBSIZE_INFO表中的值,并且它们足够快,则由快照时间戳和刷新窗口值确定,则会返回这些caching的值。 如果caching的值不够大,则计算新的caching值,插入到SYSTOOLS.STMG_DBSIZE_INFO表中并返回,并更新快照时间戳记值。

下面使用0分钟的刷新窗口返回数据库大小和容量。 数据库大小和容量将立即重新计算。

CALL GET_DBSIZE_INFO(?, ?, ?, 0)

 Value of output parameters -------------------------- Parameter Name : SNAPSHOTTIMESTAMP Parameter Value : 2004-02-29-18.33.34.561000 Parameter Name : DATABASESIZE Parameter Value : 22302720 Parameter Name : DATABASECAPACITY Parameter Value : 4684859392 Return Status = 0 

您也可以直接查询systools.stmg_dbsize_info以获得结果。

db2“从systools.stmg_dbsize_info中selectdb_size,db_capacity”

db2“selectdb_size / 1073741824作为SIZE_GB,db_capacity / 1073741824作为来自systools.stmg_dbsize_info的CAPACITY_GB”

 db2 "select db_size, db_capacity from systools.stmg_dbsize_info" DB_SIZE DB_CAPACITY -------------------- -------------------- 1089248165888 1342416097280 1 record(s) selected. db2 "select db_size/1073741824 as SIZE_GB, db_capacity/1073741824 as CAPACITY_GB from systools.stmg_dbsize_info" SIZE_GB CAPACITY_GB -------------------- -------------------- 1014 1250 1 record(s) selected.