Я буду гадати, що ви використовуєте автоматичне зберігання. (Не те, щоб це могло статися інакше ... це просто легко зробити за допомогою автоматичного зберігання.)
Проблема, швидше за все, у тому, що ваша база даних відновила простір для себе, але не випустила диск назад в операційну систему. Це можна легко показати, перевіривши високу марку води для простору таблиць.
Виконайте наступне
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);
Де ми працюємо, ми вкладаємо це в деякі з наших сценаріїв технічного обслуговування, щоб ми автоматично запускали це після того, як робимо reorgs, щоб переконатися, що ми повернемо місце на диску. У нашому випадку ми використовуємо DB2 LUW 9.7 FP 4, тому не завадить повторно перевірити Інформаційний центр на 9.5, щоб переконатися, що у вас є доступ до потрібної інформації для вашої версії.
РЕДАКТУВАННЯ: Якщо ваші табличні простори надходили з бази даних, оновленої до DB2 9.7, напевно, у вас не буде встановлений відновлюваний атрибут зберігання. Це справедливо, навіть якщо ви переходите з DMS до автоматичного зберігання. У будь-якому випадку укуси, так як фактично не можете знизити високий рівень води. Ви повинні скинути таблицю та дані, скинути таблиці. Потім заново створіть область таблиць за допомогою автоматичного зберігання та імпортуйте дані для своїх таблиць.