oracle logwr,ckpt,dbwn 如何协同工作的
lgwr
1. 事务提交(COMMIT)
2. Redo Log Buffer 达到 1/3 满
3. Redo Log Buffer 数据量达 1MB
4. 每 3 秒超时
5. DBWn 进程触发
6. 日志切换(Log Switch)
7. 检查点(Checkpoint)
ckpt
1. log_checkpoint_timeout时间达到
2. 当前redo日志已经写够log_checkpoint_internavl*操作系统块大小
3. redo log switch
4. alter system checkpoint
5. alter tablespace XXX begin backup,end backup的時候
6. alter tablespace , datafile offline, shutdown immediate, direct read的時候;
dbwn
1、当dirty list达到一定数量(阀值25%),,导致Server Proceess通知DBWn写赃数据
2、当扫描LRU list达到一定数量还未找到free buffer 时,停止搜索free buffer,直接通知DBWn写脏数据
3、ckpt通知