3

如何找出当前的事务日志大小?是否可以通过使用 SQL 查询一些系统表来做到这一点?找出事务日志的最大大小也很有趣。

是从文件系统中查找它的唯一选择吗?

4

3 回答 3

7

GET DATABASE CONFIGURATION命令将为您提供有关数据库的所有配置信息。

它包括有关日志文件大小、主要和次要日志文件的数量等信息。示例输出如下。

Log file size (4KB)                         (LOGFILSIZ) = 1024
Number of primary log files                (LOGPRIMARY) = 13
Number of secondary log files               (LOGSECOND) = 4
Changed path to log files                  (NEWLOGPATH) =
Path to log files                                       = D:\DB2\NODE0000\SQL00003\SQLOGDIR\
Overflow log path                     (OVERFLOWLOGPATH) =
Mirror log path                         (MIRRORLOGPATH) =
First active log file                                   =
Block log on disk full                (BLK_LOG_DSK_FUL) = NO
Block non logged operations            (BLOCKNONLOGGED) = NO
Percent max primary log space by transaction  (MAX_LOG) = 0
Num. of active log files for 1 active UOW(NUM_LOG_SPAN) = 0
于 2010-09-15T15:13:49.350 回答
4

是的,您可以从 SYSIBMADM.DBCFG 表中获取此数据

例如 - 我必须检查数据库日志参数,所以我使用了查询:

SELECT * FROM SYSIBMADM.DBCFG
WHERE
    NAME IN ('logfilsiz','logprimary','logsecond')
于 2012-08-02T08:03:14.007 回答
0

也许这是最好的选择 - 如果有人还在寻找:

$ db2 "select * from sysibmadm.MON_TRANSACTION_LOG_UTILIZATION"

LOG_UTILIZATION_PERCENT TOTAL_LOG_USED_KB    TOTAL_LOG_AVAILABLE_KB TOTAL_LOG_USED_TOP_KB MEMBER
----------------------- -------------------- ---------------------- --------------------- ------
                   0.20                18102                8745297                146156      0

  1 record(s) selected.
于 2021-10-01T18:44:15.050 回答