Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback, please email oracle-forums_moderators_us@oracle.com

Datablock writes

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 ... ?
This post has been answered by mbobak on Apr 13 2009
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 12 2009
Added on Apr 10 2009
9 comments
11,889 views