948287 wrote:Why do you believe that the request would always go to the datafile? The access would be first checked from the buffer cache only and if the required Undo Blocks are not found there than only the access would go to the Undo tablespace .
please somebody clear my doubts,
So before commit any request for old image will leads the server process to read the blocks from datafile
and to mark it as 'undo' and after getting commit based on the retention period the server process will writes the undo information into undo tablespace.Nope, seems you are getting confused. The marking of the Undo block is done right at the time of the transaction. So saying at commit , it happens is wrong. And also saying that after the commit, the Undo information gets written to the Undo tablespace is also wrong. It's written by DBWR on it's own as it's a data file. At commit, LGWR writes not the DBWR.
and after undo retention period the same will be aged out.Do you mena to say that once the retention period is over, the undo data would be marked for being over-written? If yes than right !