Voy a adivinar que estás usando almacenamiento automático. (No es que esto pueda suceder de otra manera ... es fácil que esto suceda con el almacenamiento automático).
El problema es más probable que su base de datos haya recuperado el espacio para sí misma pero no haya devuelto el disco al sistema operativo. Esto se puede mostrar muy fácilmente al marcar la Marca de nivel superior para el espacio de tabla.
Haz lo siguiente
db2 list tablespaces show detail
Esto le mostrará cada espacio de tabla y lo que está utilizando en el disco. Used pages
es cuántas páginas de disco está usando la base de datos. Comparando eso con total pages
(el total reclamado en el disco) y el High water mark (pages)
le mostrará si está "reclamando" más de lo que realmente necesita. (es decir, páginas con poco uso, páginas con un total muy alto y una marca de nivel alto cerca de las páginas totales).
Para deshacerse de este espacio no utilizado y devolverlo al sistema operativo que le emita el siguiente (en condiciones de almacenamiento automático): db2 alter tablespace <tablespace name> reduce max
. ejemplo
db2 alter tablespace ts1 reduce max;
Eso hará que DB2 baje la marca de límite superior y libere el disco no utilizado al sistema operativo. (Tenga en cuenta que solo puede hacer esto para espacios de tabla regulares y grandes, no para espacios de tabla temporales del sistema o temporales del usuario).
Si está utilizando DMS sin almacenamiento automático, debe utilizar un conjunto de comandos ligeramente diferente:
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);
ejemplo
db2 alter tablespace ts1 lower high water mark;
db2 alter tablespace reduce (all containers 500 M);
Donde trabajamos, lo ponemos en algunos de nuestros scripts de mantenimiento para que lo ejecutemos automáticamente después de realizar las reorganizaciones para asegurarnos de recuperar el espacio en disco. En nuestro caso, utilizamos DB2 LUW 9.7 FP 4, por lo que no está de más verificar el Centro de información de 9.5 para asegurarse de que tiene acceso a la información correcta para su versión.
EDITAR: si sus espacios de tabla provienen de una base de datos actualizada a DB2 9.7, probablemente no tendrá establecido el atributo de almacenamiento recuperable. Esto es cierto incluso si actualiza de DMS a almacenamiento automático. De cualquier manera, muerde, ya que en realidad no puede bajar la marca de agua alta. Debe volcar la tabla y los datos, descartar los espacios de tabla. Luego, vuelva a crear el espacio de tabla utilizando el almacenamiento automático e importe los datos para sus tablas.