DBAtlas · Veritabanı operasyon atlası

Tabloyu veya partition'ı online taşı (ALTER TABLE MOVE ONLINE)

OracleOnline İşlemler

Komut

-- 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.

DBAtlas'ta aç →

İlgili