• Categoría: Oracle
  • Visto: 20180

Ratio: 4 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado
 
Oracle

Reducir el espacio que ocupa una tabla en un tablaspace es una tarea que realizaremos normalmente después de haber realizado un borrado masivo de filas en una tabla o varias tablas. Con el borrado (estamento DELETE FROM nombre tabla) no se libera el espacio ocupado y la tabla seguirá ocupando el mismo espacio después del borrado, esto significa que estamos desaprovechando espacio y por lo tanto es necesario compactar la tabla y así liberaremos el espacio no usado.

 

Para realizar esta compactación y la liberación de espacio ocupado por la tabla utilizaremos el estamento ALTER TABLE con la cláusula SHRINK SPACE.

 

Sintaxis

ALTER TABLE nombre_tabla SHRINK SPACE

 

La cláusula SHRINK permite reducir manualmente espacios no usados en una tabla.

 

La compactación requiere poder mover filas, por lo tanto, debes permitir el movimiento de filas para el objeto que deseas reducir antes de realizar el SHRINK.

 

En primer lugar activaremos el movimiento de filas:

 


ALTER TABLE prueba.clientes ENABLE ROW MOVEMENT;

 

Ahora realizamos la compactación:

 


ALTER TABLE prueba.clientes SHRINK SPACE;

 

Por último desactivamos el movimiento de filas:

 


ALTER TABLE prueba.clientes DISABLE ROW MOVEMENT;