ORA-30926 Hataları Nasıl Giderilir? (Belge Kimliği 471956.1)
1) Başarısız ifadeyi tanımlayın
oturum seti olaylarını değiştir '30926 izleme adı hata yığını 3';
veya
sistem seti olaylarını değiştir '30926 izleme adı errorstack off';
ve oluştuğunda UDUMP'daki .trc dosyalarını izleyin.
2) SQL ifadesini bulduktan sonra, doğru olup olmadığını kontrol edin (belki sorgu yürütme planını kontrol etmek için açıklama planını veya tkprof'u kullanın) ve eğer bu yakın zamanda yapılmadıysa ilgili tablolardaki istatistikleri analiz edin veya hesaplayın. Dizinleri yeniden oluşturmak (veya bırakmak / yeniden oluşturmak) da yardımcı olabilir.
3.1) SQL ifadesi bir MERGE mi? birleştirmede yinelenen değerler olmadığından emin olmak için USING yan tümcesi tarafından döndürülen verileri değerlendirin. Bir deterministik where cümlesi içerecek şekilde birleştirme ifadesini değiştirin
3.2) Bu bir görünüm aracılığıyla bir UPDATE ifadesi mi? Öyleyse, görünüm sonucunu bir tabloya yerleştirmeyi ve tabloyu doğrudan güncellemeyi deneyin.
3.3) Masada bir tetikleyici var mı? Hala başarısız olup olmadığını görmek için devre dışı bırakmayı deneyin.
3.4) İfade bir 'IN-Alt Sorgu'da birleştirilemez bir görünüm içeriyor mu? Bu, sorgu bir "FOR UPDATE" yan tümcesi içeriyorsa yinelenen satırların döndürülmesine neden olabilir. Hata 2681037
3.5) Tabloda kullanılmayan sütunlar var mı? Bunları düşürmek hatayı önleyebilir.
4) SQL'de değişiklik yapmak hatayı gidermiyorsa, özellikle zincirlenmiş satırlar varsa, sorun tabloda olabilir. 4.1) Tabloda veya dizinlerinde herhangi bir bozulma olup olmadığını görmek için SQL'de kullanılan tüm tablolarda 'ANALYZE TABLE VALIDATE STRUCTURE CASCADE' ifadesini çalıştırın. 4.2) Masadaki ZİNCİRLİ veya taşınmış SATIRLARI kontrol edin ve ortadan kaldırın. Doğru PCTFREE ayarı gibi bunu en aza indirmenin yolları vardır. Kullanım Notu 122020.1 - Sıra Zincirleme ve Taşıma 4.3) Tablo ek olarak Dizinle Düzenlenmişse, bkz .: Not 102932.1 - IOT'larda Zincirli Satırları İzleme