Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: LOG_CEHCKPOINT_INTERVAL AND RECOVERY
A copy of this was sent to Devinder Pal Singh
<Devinder_Pal.Singh_at_pharma.novartis.com>
(if that email address didn't require changing)
On Wed, 24 Mar 1999 13:30:55 -0500, you wrote:
>Dear all,
>This is regarding the log_cehckpoint_interval, It is said that if you
>want faster recovery, or smaller granularity of recovery, this parameter
>should be set to some value smaller than the size of your redo log file.
>My question is how does it help in recovery. Whenever a chekpoint
>happens, either explicit or implicit, it signals DBWR to flush the
>buffers to disk and after the DBWR finsihes then either LGWR or CKPT( if
>it is present) update the datafile headers and controfile, So how does
>recovery come into picture. Can somebody explain this.
>Regards
>Davinder
>
>
before the database is opened, we have to roll forward. The more data that was buffered before a crash -- the more log you will need to apply to roll forward.
Lets say you didn't checkpoint frequently, say you have 500meg logs. As we were putting the 499'th meg of stuff in the redo log file the system crashed. To startup, we have to read and apply 499meg of log.
Lets say on the other hand, you checkpointed every n seconds or every M meg of changed data. Now, we might read some 499 meg of log but we apply much less (cause the datafiles don't need it). Large sequential reads = fast -- small random writes and seeks = slow. By checkpointing, you make it so that less 'redo' needs to be applied during recovery and hence the database opens faster.
Thomas Kyte
tkyte_at_us.oracle.com
Oracle Service Industries
Reston, VA USA
--
http://govt.us.oracle.com/ -- downloadable utilities
![]() |
![]() |