Mover una tabla o partición en línea (ALTER TABLE MOVE ONLINE)
OracleOperaciones en líneaComando
-- Move the table to another tablespace / reorganize it (DML continues):
ALTER TABLE customer_app.orders MOVE ONLINE TABLESPACE customer_data;
-- Compress while moving (BASIC; for OLTP compression use ROW STORE COMPRESS ADVANCED):
ALTER TABLE customer_app.orders MOVE ONLINE COMPRESS;
-- A single partition:
ALTER TABLE customer_app.sale_part
MOVE PARTITION p2026_h1 ONLINE TABLESPACE customer_archive UPDATE INDEXES;
-- Verify: indexes must stay VALID
SELECT index_name, status FROM dba_indexes
WHERE owner = 'CUSTOMER_APP' AND table_name = 'ORDERS';
SELECT table_name, tablespace_name, compression, compress_for
FROM dba_tables
WHERE owner = 'CUSTOMER_APP' AND table_name = 'ORDERS';Qué hace
Reescribe el segmento de la tabla: reduce la fragmentación y el high water mark, cambia el tablespace y aplica compresión. Con ONLINE, el DML no se bloquea durante la operación y los índices se mantienen automáticamente y siguen VALID.
Cuándo usarlo
Para recuperar espacio tras borrados masivos, mover una tabla a un nuevo tablespace/almacenamiento y comprimir particiones antiguas en un tablespace de archivo.
Precaución
Requiere Enterprise Edition; ROW STORE COMPRESS ADVANCED requiere la opción Advanced Compression (costo adicional). La operación necesita un espacio adicional igual al tamaño de la tabla y genera mucho redo. Se toman bloqueos breves al inicio y al final; las transacciones largas abiertas la hacen esperar. Un MOVE sin ONLINE ni UPDATE INDEXES deja todos los índices UNUSABLE.