log buffer —— log file switch (archiving needed)、log file switch (checkpoint incomplete)

log file switch (archiving needed)

SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'log file switch (archiving needed)';

    EVENT# NAME                                               PARAMETER1      PARAMETER2      PARAMETER3
---------- -------------------------------------------------- --------------- --------------- --------------------
       112 log file switch (archiving needed)

在归档模式下,这个等待事件发生在在线日志切换(log file switch)时,需要切换到的在线日志还没有被归档进程(ARCH)归档完毕的时候。当在线日志文件切换到下一个日志时,需要确保下一个日志已经被归档完毕,否则不允许覆盖那个在线日志信息(否则会导致归档日志信息不完整)。

出现这样的等待事件通常是由于某种原因导致ARCH进程死掉,比如ARCH进程尝试向目的地写入一个归档文件,但是没有成功(介质失效或其它原因),这时ARCH进行就会死掉。如果发生这种情况,在数据库alert文件中可以找到相关的告警信息。

这个等待事件没有参数。

log file switch (checkpoint incomplete)

SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'log file switch (checkpoint incomplete)';

    EVENT# NAME                                               PARAMETER1      PARAMETER2      PARAMETER3
---------- -------------------------------------------------- --------------- --------------- --------------------
       110 log file switch (checkpoint incomplete)

当一个在线日志切换到下一个在线日志时,必须保证要切换到的在线日子上记录的信息(比如一些脏数据块产生的redo log)被写到磁盘上(checkpoint),这样做的原因是,如果一个在线日志文件的信息被覆盖,而依赖这些redo信息做恢复的数据块尚未被写到磁盘上(checkpoint),此时系统down掉的话,Oracle将没有办法进行实例恢复。

在v$log视图里面记录了在线日志的状态。通常来说在线日志有三个状态。

Active:这个日志上面保护的信息还没有完成checkpoint。

Inactive:这个日志上面保护的信息已经完成checkpoint。

Current:当前的日志。

如果系统中存在大量的log file switch (checkpoint incomplete)等待事件,原因可能是日志文件太小或者日志文件组太少,所以解决方式是,增加日志文件的大小或者增加日志文件组数量。

这个等待事件没有参数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值