DBWR触发条件
1、当有数据要写入数据缓存区,发现没有足够的空闲空间,则DBWR将启动将脏缓存写入数据文件,以释放足够的数据缓冲区。
2、执行检查点进程。
LGWR触发条件
1、每个3秒钟自动触发
2、事务提交(包含DDL语句)
3、重做日志缓冲区被写满1/3,或者包含1MB的重做日志
4、DBWR准备写脏缓存块写到数据文件,如果这部分数据对应的重做信息尚未写入重做日志文件的话,会先等待LGWR将脏缓存写入重做日志文件,然后再将其写入数据文件。
CKPT(检查点进程)触发条件
1、重做日志文件切换
2、系统收到ALTER SYSTEM CHECKPOINT命令
3、将表空间设置为脱机(OFFLINE)/只读(READONLY)/备份(BACKUP)状态。
4、通过初始化参数的设置控制检查点的执行频率。如 log_checkpoint_timeout控制脏数据在数据缓冲池中的保留时间。
主要作用:
更新控制文件,并修改数据文件的头部信息,记录当前的检查点信息。
向DBWR进程布置将脏缓存块写入数据文件的任务,以便保证数据库的一致性状态。
转载于:https://blog.51cto.com/carefree/1155555