DBAtlas · Veritabanı operasyon atlası

ORA-01555: Snapshot too old: rollback segment number too small

Oracle

Ne demek?

Uzun süren bir sorgu, başladığı andaki tutarlı görüntüyü (read consistency) oluşturmak için gereken eski undo verisine erişemedi; çünkü o undo bilgisi üzerine yazılmış.

Neden olur?

Undo tablespace'inin küçük olması, UNDO_RETENTION süresinin kısa olması, aynı anda çok yoğun DML çalışırken uzun süren sorgular olması veya bir sorgu içinde aynı tabloya commit yapan bir döngü (fetch across commit) bulunması.

Nasıl çözülür?

UNDO_RETENTION değerini artırın ve undo tablespace'ini büyütün, mümkünse otomatik yönetimde bırakın (AUTOEXTEND açık). Uzun sorguları küçük parçalara bölün veya yoğun olmayan zamanda çalıştırın. RETENTION GUARANTEE ayarını değerlendirin: ALTER TABLESPACE undotbs1 RETENTION GUARANTEE. Döngü içinde commit eden uygulama mantığını düzeltin.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar