I started writing a reply here, but thought others would benefit from it as well, so turned the answer into a blog entry: http://blog.tanelpoder.com/2011/07/06/what-is-the-purpose-of-segment-level-checkpoint-before-droptruncate-of-a-table/ This is just my reasoning, there may be other, more fundmental reasons behind it. -- Tanel Poder http://blog.tanelpoder.com On Wed, Jul 6, 2011 at 4:30 AM, Paresh Yadav <yparesh@xxxxxxxxx> wrote: > Hi, > > What is the purpose of segment level checkpoint before DROP/TRUNCATE of a > table? I have tried to find this since quite some time, Only thing I have > found is that it is required for recoverability, specifically point in time > recovery amongst many other things. I have read about it on so many sites > (as far as I remember Jonathan Lewis, Tom Kyte etc.). I recently saw an > awesome article on check points by Harald Van Breederode titled "What's the > Point of Oracle Checkpoints?". How does it help in recoverability? I > thought about point-in-time recovery. All the information to recover dirty > buffers for committed transactions should be in the redo stream (redo log > and/or archived log) so why do a checkpoint at the object level before > truncat//drop? Is it to shorten MTTR etc.? An explanation will be very much > appreciated. Any pointers to other resources that I can read in this matter? > > -- > Thanks > Paresh > 416-688-1003 >