Bir migration çalışması sırasında kullanılacak olan scriptleri tun ederken, insertler i Append hinti vererek yapmaya karar verdim. Bir tablo için peşpeşe birkaç tane insert scripti olanlar da vardı. Append hintinin çalışma mantığını düşünmeden insertler arasına hintleri vererek geçtim. Sabahın 05’ inde migration çalışmasını başlattığımda (bir gözü açık bir gözü kapalı durumda J) scriptler patlamaya başlayınca (tabi bu arada gözlerim açıldı J) farkettimki Append hinti ile bir tabloya peşpeşe insert yapıyorsan iki insert arasında mutlaka transactionı sonlandırmalısın yani commit veya rollback yapmalısın. Appent hinti redo üretimi minumum düzeyde tuttuğundan dolayı bir sonraki insert ile ilgili yeteri kadar data bilgisi sistemde yer almamış oluyor. Dolayısıyla (ORA-12838: bir nesne değiştirildikten sonra paralel olarak okunamaz / değiştirilemez) verdiği bu hatada bir o kadar anlamlı oluyor.
Continue reading