Anyone who does know about Oracle db and its working even the slightest bit would have heard about these two words for sure, Redo and Undo! Both make Oracle db what it is, a very robust data engine and also come out as one of the most complex algorithms to understand within the same. Almost all the time, there is some confusion that’s there about these two and I am sure, both will be a very hot topic of discussion for many many years yet to come!
I am quite active on OTN Forums ( and no that’s not an excuse of being less active here) and at times, there are some very interesting questions which do pop up there. One such question about Redo, which obviously would include Undo as well did come out few days back over this thread, why not use Redo log for consistent read. Now, it shouldn’t come out as a surprise that why Redo can’t be used if one understands the way it works but it was still a very interesting topic to jump into since the way Oracle db works is one of my favorite areas. So I did try to explain it somewhat. If you think that you don’t know the answer or even if you know you do, I would welcome you to read the thread! As like always, any corrections wherever needed and possible are most welcome!
Though the thread went to great lengths, still I fee that the underlying answer was not really what it should had been. I am sure the reason is my not-so-deep understanding about Oracle db only since I was the one who did give maximum replies there. But I guess, the topic was actually good because of which, Jonathan Lewis, probably the best and the most knowledgeable person over this planet about Oracle, did pick the question and gave the actual (and an awesome one) and very detailed answer over here. I would recommend you to read the complete blog post which clears the concept completely that why Redo should NOT be used for read consistency and Undo should be! Thanks so much Jonathan for such a brilliant explanation!
I am pretty busy at the moment( and no, this is also not the reason for being less active here) because there is a very important writing assignment I am working over but I shall try to write soon about some of these basic concepts over here! Hope that “soon” happens soon 🙂 !