The following excerpt is from Oracle concepts. Maybe this is a stupid question, but I really need your help to understand it.

My question is:

  • What's does the thread mean in the context thread checkpoints?
  • Does it means redo log thread(all redo log files that belong to a specific instance)?
  • What does a certain target means?

Thanks all! English is not my mother tongue, and I feel a little difficult to fully understand this.

When Oracle Database Initiates Checkpoints 

The checkpoint process (CKPT) is responsible for writing checkpoints to the data file  
headers and control file. Checkpoints occur in a variety of situations. For example,  
Oracle Database uses the following types of checkpoints: 

■   Thread checkpoints 
    The database writes to disk all buffers modified by redo in a specific thread before  
    a certain target. The set of thread checkpoints on all instances in a database is 
    a database checkpoint. Thread checkpoints occur in the following situations: 

    – Consistent database shutdown 


    – Online redo log switch 


■   Tablespace and data file checkpoints 

    The database writes to disk all buffers modified by redo before a specific target. A  
    tablespace checkpoint is a set of data file checkpoints, one for each data file in the  
    tablespace. These checkpoints occur in a variety of situations, including making a  
    tablespace read-only or taking it offline normal, shrinking a data file, or executing  

■   Incremental checkpoints 

    An incremental checkpoint is a type of thread checkpoint partly intended to avoid  
    writing large numbers of blocks at online redo log switches. DBWn checks at least  
    every three seconds to determine whether it has work to do. When DBWn writes  
    dirty buffers, it advances the checkpoint position, causing CKPT to write the  
    checkpoint position to the control file, but not to the data file headers. 

Other types of checkpoints include instance and media recovery checkpoints and  
checkpoints when schema objects are dropped or truncated.

3 Answers 3


Yes, a thread in this case is the redo generated by an instance. If you had a 4-node RAC, you would have 4 redo threads. This is thread# in v$archived_log. The certain target is almost certainly referring to an SCN.


I'm not completely certain, but I believe the "thread" in "thread checkpoint" refers to a DBWR thread/process.

The "certain target" referenced is configurable; several init.ora parameters influence it, including:


If I am not mistaken, by "thread", the Oracle Concepts book means redo threads and "by redo in a specific thread" it means buffers written to the disk are buffers which are generated by transactions which are the reason for the generation of these named redo records by this specific redo thread. I hope I didn't make it sound more confusing! ;)

I think "certain targets" would be the statements named in the book below the explanation of "thread checkpoints", for example ALTER SYSTEM CHECKPOINT. Checkpoint parameters and the three second interval would trigger "incremental checkpoints" because all are aiming to speed the checkpoint procedure.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.