DB BUFFER LRU 列表的latch等待

来源:这里教程网 时间:2026-03-03 13:47:36 作者:

DB BUFFER LRU 列表的latch等待 总结出来如下两种情况会导致latch等待: 1. 载入内存,写入LRU列表 进程欲读取还没有装载到内存上的块时,通过查询LRU 列分配到所需空闲缓冲区,在此过程中需要cache buffers lru chain latch。 2. 刷脏块,同步到物理文件 数据库写入进程将脏缓冲区记录到文件上,查询LRU LIST,将相应缓冲区移动到FREE LIST的过程中,也要获得cache buffers lru chain latch。 在如下情况下将脏缓冲区记录到文件里: 2.1)session对应的服务进程为了获得空闲缓冲区,向DBWR 请求记录脏缓冲区时; 2.2)Oracle进程为执行Parallel Query 或 Backup,Truncate/Drop等工作,请求记录相关对象的脏缓冲区时;  2.3)周期性或管理上的原因检查点(checkpointing)被执行时。 2.4)Oracle 为了保障将通过FAST_START_MTTR_TARGET(或LOG_CHECKPOINT_TIMEOUT)指定的时间的恢复,周期性执行检查点。 2.5)管理员执行检查点命令或根据日志文件切换,也会发生检查点。

相关推荐