Я собираюсь предположить, что вы используете автоматическое хранение. (Не то, чтобы это могло случиться иначе ... это просто сделать с автоматическим хранением.)
Проблема, скорее всего, в том, что ваша база данных освободила место для себя, но не вернула диск обратно в операционную систему. Это очень легко показать, проверив высшую отметку для табличного пространства.
Сделайте следующее
db2 list tablespaces show detail
Это покажет вам каждое табличное пространство и то, что оно использует на диске. Used pages
сколько страниц диска использует база данных Сравнивая это с total pages
(общее количество заявленных на диске) и High water mark (pages)
вы увидите, если вы «требуете» больше, чем вам действительно нужно. (то есть, малоиспользуемые страницы, очень высокое общее количество страниц и высокий уровень воды рядом с общим количеством страниц).
Для того, чтобы избавиться от этого неиспользуемого пространства и вернуть его в операционную систему вы бы выпустить следующее (под автоматическим хранения): db2 alter tablespace <tablespace name> reduce max
. пример
db2 alter tablespace ts1 reduce max;
Это заставит DB2 понизить максимальную отметку и вернуть неиспользуемый диск обратно в операционную систему. (Обратите внимание, что вы можете сделать это только для обычных и больших табличных пространств, но не для системных временных или пользовательских временных табличных пространств).
Если вы используете DMS без автоматического хранения, вам нужно использовать немного другой набор команд:
db2 alter tablespace <tablespace name> lower high water mark;
db2 alter tablespace reduce (<containter name> or [all containers] integer K|M|G or integer PERCENT);
пример
db2 alter tablespace ts1 lower high water mark;
db2 alter tablespace reduce (all containers 500 M);
Там, где мы работаем, мы помещаем это в некоторые из наших сценариев обслуживания, чтобы мы автоматически запускали это после перезапусков, чтобы убедиться, что мы освобождаем дисковое пространство. В нашем случае мы используем DB2 LUW 9.7 FP 4, поэтому не повредит дважды проверить Информационный центр на 9.5, чтобы убедиться, что у вас есть доступ к нужной информации для вашей версии.
РЕДАКТИРОВАТЬ: Если ваши табличные пространства взяты из базы данных, обновленной до DB2 9.7, у вас, вероятно, не будет установлен атрибут восстанавливаемого хранилища. Это верно, даже если вы переходите с DMS на автоматическое хранение. В любом случае кусается, так как вы не можете на самом деле снизить отметку максимальной воды. Вы должны сбросить таблицу и данные, отбросить табличные пространства. Затем заново создайте табличное пространство с помощью автоматического хранения и импортируйте данные для ваших таблиц.