Tabloyu veya partition'ı online taşı (ALTER TABLE MOVE ONLINE)
OracleOnline İşlemlerKomut
-- Tabloyu baska tablespace'e tasi / yeniden duzenle (DML devam eder):
ALTER TABLE musteri_app.siparis MOVE ONLINE TABLESPACE musteri_data;
-- Tasirken sikistir (BASIC; OLTP sikistirmasi icin ROW STORE COMPRESS ADVANCED):
ALTER TABLE musteri_app.siparis MOVE ONLINE COMPRESS;
-- Tek partition:
ALTER TABLE musteri_app.satis_part
MOVE PARTITION p2026_h1 ONLINE TABLESPACE musteri_arsiv UPDATE INDEXES;
-- Dogrula: index'ler VALID kalmali
SELECT index_name, status FROM dba_indexes
WHERE owner = 'MUSTERI_APP' AND table_name = 'SIPARIS';
SELECT table_name, tablespace_name, compression, compress_for
FROM dba_tables
WHERE owner = 'MUSTERI_APP' AND table_name = 'SIPARIS';Ne yapar?
Tablo segmentini yeniden yazar: fragmentasyonu ve high water mark'ı düşürür, tablespace değiştirir, sıkıştırma uygular. ONLINE ile işlem sırasında DML engellenmez ve index'ler otomatik olarak güncel/VALID kalır.
Ne zaman kullanılır?
Toplu DELETE sonrası alan geri kazanmak, tabloyu yeni tablespace/storage'a taşımak, eski partition'ları sıkıştırıp arşiv tablespace'ine almak için.
Dikkat
Enterprise Edition gerekir; ROW STORE COMPRESS ADVANCED için Advanced Compression opsiyonu (ek lisans) gerekir. İşlem süresince ek olarak tablo boyutu kadar alan ve yoğun redo üretir. İşlem başında ve sonunda kısa lock'lar alınır; uzun açık transaction'lar bekletir. ONLINE ve UPDATE INDEXES olmadan yapılan MOVE tüm index'leri UNUSABLE bırakır.