oradba11Apr 10 2009 — edited Apr 16 2009
when a checkpoint accurs --
1. Log file switch .
2. As defined in parameter Log checkpoint interval .
3. alter system checkpoint .
CKPT process signals DBWR to write only dirty blocks in to datafile. Before it LGWR writes all sql statements in the redo log files from log buffer.
So as following events related to each poress trigger them to do their work.
When do the LGWR writes to the online redo logs?
. At checkpoint
• At commit
• When one-third full
• When there is 1 MB ofredo
• Every three seconds
• Before DBWn writes
When do the DBWR writes to the data files?
• Checkpoint occurs
• Dirty buffers reach threshold
• There are no free buffers
• Timeout occurs
• RAC ping request is made
• Tablespace OFFLINE
• Tablespace READ ONLY
• Table DROP or TRUNCATE
• Tablespace BEGIN BACKUP
What are the responsibilities of CKPT?
• Signaling DBWn at checkpoints
SMON Process ---
• Updating datafile headers with checkpoint information
• Updating control files with checkpoint information
So my doubt is if database buffer cache got full so DBWR needs to write blocks in to data files.
but no user issue commit ....can data files have uncommitted data in it and lgwr process also writes sql statements in to redo files so redo files also have uncommitted statements ....?
when ever dbwr writes block lgwr also writes ....?
Can some one write whole process of writing data blocks in to files ... ?