Reclamando espacio para tablas Oracle (Shrink)

Objetivo

Reclamar el espacio liberado de una tabla tras haber realizado un borrado masivo de filas (shrink).

Usando shrink

Oracle permite reclamar el espacio que hemos liberado en una tabla. Cuando borramos un montón de filas , observamos que la tabla sigue ocupando el mismo espacio. Shrink nos permite liberarlo.

Suponiendo que la tabla donde quiero liberar espacio se llama compras, los pasos a seguir serían los siguientes:

Habilitaríamos row movement en la tabla

SQL> alter table compras enable row movement;
Table altered

Reclamaríamos el espacio. Hay dos formas de hacerlo

SQL> alter table compras shrink space;
Table altered
SQL> Alter table compras shrink space cascade;
Table altered.

Con la opción cascade, solo recuperaremos el espacio para el objeto y sus dependencias pero esta opción no modificará los índices.

Una vez realizado esto, no hay que olvidarse de volver a deshabilitar el row movement de la tabla ya que tenerlo activo podría provocar problemas de rendimiento en esta.

SQL> alter table compras disable row movement;
Table altered

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *