Sample Header Ad - 728x90

Recovery of uncommitted transactions after checkpoint

0 votes
1 answer
512 views
After reading from several resources including: * COMMIT (Oracle Database SQL Reference) * Checkpoints (Oracle Programmer Reference) * https://dba.stackexchange.com/q/124697 (on this site) * ORACLE CHECKPOINTS by Anju Garg I have concluded the following: 1. The effects of any transaction are written to the log buffer in the memory. 2. Commit flushes the log buffer to the logfiles in the disk. 3. On the occurrence of a Checkpoint, DBW writes the dirty blocks to datafiles on the basis of logfile entries. 4. In the event of a crash, the Recovery Manager reads the logfiles (till the last checkpoint) and performs Undo/Redo on the transactions. I understand that the committed transactions are redone and uncommitted transactions are undone. What I don't understand is how are uncommitted transactions known, given that they exist only in the log buffer in the memory and any crash is supposed to wipe-out the memory and the only surviving transactions are those residing in the logfiles on the disk (after getting committed). Is something wrong in my understanding?
Asked by shantanu4raje (1 rep)
Jun 11, 2021, 07:32 AM
Last activity: Jun 11, 2021, 09:56 AM