log file switch completion,log file switch(checkpoint incomplete),log file switch(archiving needed)

本文解析了Oracle数据库中的三个关键等待事件:logfileswitchcompletion、logfileswitch(checkpointincomplete)及logfileswitch(archivingneeded),探讨了这些事件频繁发生的原因及解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

log fileswitch completion,log file switch (archiving needed) log file switch (checkpoint incomplete)

这三个等待事件是没有参数的,在10g中,它位于configuration类下

SQL> select name,parameter1,parameter2,parameter3,wait_class from v$event_name where name in( 'log file switch completion',
2 'log file switch (checkpoint incomplete)','log file switch (archiving needed)');

NAME PARAMETER1 PARAMETER2 PARAMETER3 WAIT_CLASS
--------------------------------------------- ---------- ---------- ---------- -------------------------------------------------------
log file switch (checkpoint incomplete) Configuration
log file switch (archiving needed) Configuration
log file switch completion Configuration

当这三个等待事件出现比较频繁,可能是由于事物繁忙,导致redo生成过快,日志文件过小造成的。

这个时候可以考虑增大日志文件大小,增加日志文件组,删除以前过小的日志文件。

另外

log file switch (checkpoint incomplete)也有可能是dbwr写太慢,引起的,可能需要增加dbwr数量,调整I/O。

log file switch (archiving needed) 这个等待事件也有可能是归档太慢,应该将归档日志存放在I/O快速的磁盘上,增加归档进程

调整log_archive_max_processes归档进程。

在日志切换的过程中,lgwr进程首先要关闭current日志组,然后打开下一个日志组,这个过程中任何DML操作都无法进行,直到切换完成。日志切换的时候需进行归档,checkpoint,如果归档慢,DBWR慢,必然导致前台业务等待,这个等待过程如果比较长,会导致用户响应缓慢,所以出现了上述三类等待事件,应该引起足够重视,Oracle推荐的日志切换事件一般是20分钟,当然在业务很繁忙的情况下日志切换比较频繁,可能几分钟就切换一次,如果没有引起log file switch 之类的等待事件,就不需要增大日志文件了,太大的日志文件可能导致损失过多的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值