Mover uma tabela ou partição online (ALTER TABLE MOVE ONLINE)
OracleOperações onlineComando
-- 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';O que faz
Reescreve o segmento da tabela: reduz a fragmentação e a high water mark, muda o tablespace e aplica compressão. Com ONLINE, o DML não é bloqueado durante a operação e os índices são mantidos automaticamente e continuam VALID.
Quando usar
Para recuperar espaço após exclusões em massa, mover uma tabela para um novo tablespace/storage e comprimir partições antigas em um tablespace de arquivo.
Atenção
Exige Enterprise Edition; ROW STORE COMPRESS ADVANCED exige a opção Advanced Compression (custo extra). A operação precisa de espaço adicional igual ao tamanho da tabela e gera redo pesado. Bloqueios curtos são feitos no início e no fim; transações abertas longas a fazem esperar. Um MOVE sem ONLINE ou UPDATE INDEXES deixa todos os índices UNUSABLE.