Как узнать текущий размер журнала транзакций в DB2?

Как узнать текущий размер журнала транзакций? Можно ли сделать, например, путем запроса некоторых системных таблиц с SQL? Также было бы интересно узнать максимальный размер журнала транзакций.

Это единственный вариант, чтобы найти его из файловой системы?

3 ответа

Решение

Да, вы можете получить эти данные из таблицы SYSIBMADM.DBCFG

Например - мне пришлось проверить параметры журнала базы данных, поэтому я использовал запрос:

SELECT * FROM SYSIBMADM.DBCFG
WHERE
    NAME IN ('logfilsiz','logprimary','logsecond')

Команда 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

Пожалуй, это лучший вариант - на случай, если кто-то все еще ищет:

      $ 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.
Другие вопросы по тегам