DBWR触发条件

1、当有数据要写入数据缓存区,发现没有足够的空闲空间,则DBWR将启动将脏缓存写入数据文件,以释放足够的数据缓冲区。

2、执行检查点进程。

 

 

 

LGWR触发条件

1、每个3秒钟自动触发

2、事务提交(包含DDL语句)

3、重做日志缓冲区被写满1/3,或者包含1MB的重做日志

4DBWR准备写脏缓存块写到数据文件,如果这部分数据对应的重做信息尚未写入重做日志文件的话,会先等待LGWR将脏缓存写入重做日志文件,然后再将其写入数据文件。

 

CKPT(检查点进程)触发条件

1、重做日志文件切换

2、系统收到ALTER SYSTEM CHECKPOINT命令

3、将表空间设置为脱机(OFFLINE/只读(READONLY/备份(BACKUP)状态。

4、通过初始化参数的设置控制检查点的执行频率。如 log_checkpoint_timeout控制脏数据在数据缓冲池中的保留时间。

 

主要作用:

更新控制文件,并修改数据文件的头部信息,记录当前的检查点信息。

DBWR进程布置将脏缓存块写入数据文件的任务,以便保证数据库的一致性状态。