Как найти размер базы данных DB2 (luw)?
Я знаю, что вы можете посмотреть размер несжатой резервной копии, но это не практично.
Есть ли команда, чтобы найти размер базы данных, когда она в сети? (В Linux/Unix/ Windows)
4 ответа
При подключении к базе данных как db2admin (или с аналогичными разрешениями) используйте следующую команду:
call get_dbsize_info(?,?,?,-1);
Первые три параметра являются выходными параметрами:
Value of output parameters
--------------------------
Parameter Name : SNAPSHOTTIMESTAMP
Parameter Value : 2014-06-17-13.59.55.049000
Parameter Name : DATABASESIZE
Parameter Value : 334801764352
Parameter Name : DATABASECAPACITY
Parameter Value : 1115940028416
Return Status = 0
Размер указывается в байтах, поэтому разделите на 1024^3, чтобы получить Гб.
Последний параметр - это частота обновления снимка. -1 - использовать настройки по умолчанию.
Примечание. Эта команда не учитывает журналы и т. Д., Поэтому на диске она может выглядеть намного больше.
Использование db2top
л(для сессии)
p(когда нажать маленькое p, он покажет общий размер db n используемого размера db)
Для конкретной схемы в килобайтах используйте:
SELECT sum(TOTAL_P_SIZE) FROM (
SELECT TABNAME, (DATA_OBJECT_P_SIZE + INDEX_OBJECT_P_SIZE + LONG_OBJECT_P_SIZE +
LOB_OBJECT_P_SIZE + XML_OBJECT_P_SIZE) as TOTAL_P_SIZE
FROM SYSIBMADM.ADMINTABINFO
WHERE TABSCHEMA='PUBLIC'
)
Следующая команда покажет вам память, используемую базой данных онлайн:
db2pd -dbptnmem
Вы можете отслеживать различные вещи с помощью команды db2pd:
https://www.ibm.com/docs/en/db2/11.1?topic=commands-db2pd-monitor-troubleshoot-db2-engine-activities