我怎样才能得到我的UDB DB2版本9.1数据库的大小? 我尝试从命令提示符发射getdbconfig。 它给出了所有的configuration,但不是大小。
谢谢 :)
IBM支持站点上有一个技术说明:
如何计算DB2数据库的大小
如果要计算数据库的大小和最大容量,可以使用过程
GET_DBSIZE_INFO。 此过程首先出现在DB2 Universal Database™(DB2 UDB)版本8.2中。
要执行这个程序,你应该遵循以下三个步骤:
GET_DBSIZE_INFO 。 这里是过程的语法:
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.