What is the purpose of segment level checkpoint before DROP/TRUNCATE of a table?

  • From: Paresh Yadav <yparesh@xxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Tue, 5 Jul 2011 21:30:50 -0400

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

Other related posts: