技术开发 频道

Oracle常见等待事件说明

    8. Log File Switch-日志文件切换

    当这个等待出现时,表示所有的提交(commit)的请求都需要等待"日志文件切换"的完成。
    Log file Switch 主要包含两个子事件:
    log file switch (archiving needed)
    log file switch (checkpoint incomplete)
    log file switch (archiving needed)

    这个等待事件出现时通常是因为日志组循环写满以后,第一个日志归档尚未完成,出现该等待。出现该等待,可能表示io 存在问题。解决办法:

    可以考虑增大日志文件和增加日志组
    移动归档文件到快速磁盘
    调整log_archive_max_processes .
    log file switch (checkpoint incomplete)-日志切换(检查点未完成)
    当你的日志组都写完以后,LGWR 试图写第一个log file,如果这时数据库没有完成写出记录在第一个log file 中的dirty 块时(例如第一个检查点未完成),该等待事件出现。
    该等待事件通常表示你的DBWR 写出速度太慢或者IO 存在问题。
    为解决该问题,你可能需要考虑增加额外的DBWR 或者增加你的日志组或日志文件大小。

    9. log file sync-日志文件同步

    当一个用户提交或回滚数据时,LGWR 将会话期的重做由日志缓冲器写入到重做日志中。日志文件同步过程必须等待这一过程成功完成。为了减少这种等待事件,可以尝试一次提交更多的记录(频繁的提交会带来更多的系统开销)。将重做日志置于较快的磁盘上,或者交替使用不同物理磁盘上的重做日志,以降低归档对LGWR的影响。

    对于软RAID,一般来说不要使用RAID 5,RAID5 对于频繁写入得系统会带来较大的性能损失,可以考虑使用文件系统直接输入/输出,或者使用裸设备(raw device),这样可以获得写入的性能提高。

    10. log file single write该事件仅与写日志文件头块相关,通常发生在增加新的组成员和增进序列号时。

    头块写单个进行,因为头块的部分信息是文件号,每个文件不同。更新日志文件头这个操作在后台完成,一般很少出现等待,无需太多关注。

0
相关文章