Как я могу узнать размер моей базы данных UDB DB2 версии 9.1? Я попытался запустить getdbconfig из командной строки. Он дает всю конфигурацию, но не размер.
Спасибо :)
На сайте поддержки IBM есть TechNote:
Как рассчитать размер базы данных DB2
Если вы хотите рассчитать размер и максимальную емкость вашей базы данных, вы можете использовать процедуру
GET_DBSIZE_INFO
. Эта процедура впервые появилась в DB2 Universal Database ™ (DB2 UDB) версии 8.2.
Чтобы выполнить эту процедуру, вы должны выполнить следующие три шага:
GET_DBSIZE_INFO
.Вот синтаксис процедуры:
db2 call GET_DBSIZE_INFO (?,?,?,refresh-window)
Первые три параметра являются выходными параметрами, а окно обновления - входным параметром типа INTEGER, который указывает количество минут до обновления кэшированных значений размера и емкости базы данных.
Ссылаться на эта ссылка на документацию примеры вывода этой процедуры в DB2 UDB Версии 9.1.
Есть сценарий здесь который был протестирован в 9.1 и, по словам автора:
вычислит размер базы данных DB2 LUW на сервере UNIX с помощью команд UNIX, которые дадут вам более точную оценку пространства, используемого базой данных. Этот сценарий также сохраняет эту информацию в оперативной таблице, которую вы можете использовать как часть панели мониторинга DBA, чтобы помочь вам отслеживать и управлять пространством в соответствии с тенденциями роста.
В GET_DBSIZE_INFO процедура вычисляет размер базы данных и максимальную емкость. Вычисленные значения возвращаются как выходные параметры процедуры и кэшируются в 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 "выберите db_size, db_capacity из systools.stmg_dbsize_info"
db2 "выберите db_size / 1073741824 как SIZE_GB, db_capacity / 1073741824 как CAPACITY_GB из systools.stmg_dbsize_info"
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.