Как узнать текущий размер журнала транзакций в 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.