db2 数据库的大小

db2 数据库的大小

如何获取 UDB DB2 9.1 版数据库的大小?我尝试从命令提示符中启动 getdbconfig。它提供了所有配置,但没有提供大小。

谢谢 :)

答案1

IBM 的支持网站上有一份技术说明:

如何计算 DB2 数据库的大小

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

要执行此过程,您应该遵循以下三个步骤:

  1. 连接到您想要了解其大小和最大容量的数据库。
  2. 执行该过程GET_DBSIZE_INFO
  3. 关闭连接。

该过程的语法如下:

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

前三个参数是输出参数,刷新窗口是 INTEGER 类型的输入参数,指定刷新数据库大小和容量的缓存值所需的分钟数。

參閱此文档链接有关 DB2 UDB 版本 9.1 中此过程的输出示例。

答案2

有一个脚本在这里它已在 9.1 中进行了测试,并且根据作者的说法:

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

答案3

获取数据库大小信息过程计算数据库大小和最大容量。计算出的值作为过程输出参数返回,并缓存在SYSTOOLS.STMG_DBSIZE_INFO表。由于计算成本高昂,因此该过程会缓存这些值。SYSTOOLS.STMG_DBSIZE_INFO 表在过程首次执行时自动创建。如果 SYSTOOLS.STMG_DBSIZE_INFO 表中缓存了值,并且这些值足够新(由快照时间戳和刷新窗口值确定),则返回这些缓存值。如果缓存值不够新,则计算新的缓存值,将其插入 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 中选择 db_size、db_capacity”

db2“从 systools.stmg_dbsize_info 中选择 db_size/1073741824 作为 SIZE_GB,db_capacity/1073741824 作为 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.

相关内容