Eliminar objetos obsoletos es una tarea recurrente en la cotidianidad del administrador de bases de datos (DBA), especialmente cuando se trata de tablas históricas que ocupan un espacio considerable y cuyo contenido ya no resulta relevante para el negocio. En estos casos, es fundamental aplicar buenas prácticas que permitan no solo eliminar dichos objetos, sino también reutilizar o devolver al sistema operativo el espacio que queda disponible tras su eliminación.
Cómo devolver el espacio usado por una tabla eliminada
Después de eliminar una tabla, el espacio que esta ocupaba dentro de la base de datos no se devuelve automáticamente al sistema operativo, esto ocurre porque el datafile asociado al tablespace, no almacena únicamente esa tabla, sino también, múltiples objetos como tablas de otros esquemas, índices, paquetes, procedimiento, entre otros.
Con el tiempo, a medida que se van insertando y eliminando datos, los bloques dentro del datafile se van ocupando de manera fragmentada o discontinua, lo que provoca que, aunque la tabla se elimine, sus bloques puedan quedar repartidos en diferentes zonas del archivo y ese espacio, aunque reutilizable dentro de la base de datos, no se libera en el sistema operativo.
Para devolver realmente ese espacio, es necesario redimensionar los datafiles, siempre y cuando el espacio libre esté ubicado al final del archivo.
Marca de agua alta
El concepto de High Water Mark (HWM) o marca de agua alta, hace referencia a la posición del último bloque que ha sido utilizado dentro de un datafile. Este valor determina el límite hasta el cual el archivo puede ser reducido mediante un redimensionamiento, ya que únicamente el espacio libre ubicado después de la HWM puede devolverse al sistema operativo.
Paso a paso a seguir
- Identificar la tabla a eliminar y el esquema al que pertenece.
- Realizar un TRUNCATE o DROP de la tabla, dependiendo del requerimiento.
- Limpiar la papelera de reciclaje (Recycle Bin) para liberar espacio dentro de la base de datos.
- Verificar la marca de agua alta (HWM) de Oracle para comprobar cuánto espacio realmente se podría liberar.
- Redimensionar los datafiles de acuerdo con los resultados obtenidos en el paso anterior.
Ventajas de redimensionar los datafiles
- Permite liberar espacio no solo dentro de la base de datos, sino también en el sistema operativo.
- Optimiza el uso del almacenamiento, evitando datafiles sobredimensionados con espacio no utilizado.
- Facilita el monitoreo y las operaciones de mantenimiento, al contar con archivos más manejables.
- Reduce el tamaño y el tiempo de las copias de seguridad, ya que los datafiles más pequeños generan respaldos más livianos.
Consejo : Libera el espacio en tu base de datos
Se recomienda no utilizar el tablespace USERS como destino por defecto para los objetos de los esquemas. Es preferible crear tablespaces dedicados, diferenciando el almacenamiento de tablas e índices según las necesidades del proyecto.
Por ejemplo, si en la base de datos existen varios esquemas que corresponden a diferentes áreas de la empresa (empleados, inventario, nómina, etc.), se puede asignar un tablespace específico solo para la información de nómina:
- TBS_NOMINA_MEN para las tablas.
- TBS_IDX_NOM_MEN para los índices.
Sigue el paso a paso para liberar el espacio en tu base de datos Oracle 12c más detalladamente en nuestro blog técnico. Recuerda que es importante implementar las buenas practicas a la hora de administrar cualquier base de datos, DBAEXPERTES.TECH está aquí para asesorarte.
