第7 章、解释与延迟有关的等待事件

章、解释与延迟有关的等待事件

1.          Log file sync 等待事件:

关键思想:

Log file sync 等待事件和事务的终止(提交或者回滚)有关。

当进程在此事件上等待太久,表明事务太短和过度的提交。

促使LGWR 进程写日志的动作有:

1)         每隔秒。

2)      日志缓冲区1/3 已满,或具有1M redo entry 

3)      用户提交。

4)      DBWR 进程发出信号(在记录写入之前,通常是由于脏数据太多,DBWR 急于写脏数据)

log file sync 等待事件出现的原因:

1)         高提交频率

2)      缓慢的I/O 子系统

3)      过大的log buffer

2.        Log buffer space 等待事件:

除了log buffer space 等待事件之外,Oracle 还在v$sysstat v$sesstat 视图中记录redo buffer allocation retries 统计。一般此事件是有种原因引起:SGA 中日志缓冲区太小;LGWR 写出日志的速度太慢。

3.        Free buffer waits 等待事件:

将一个块读入内存之前,Oracle 必须在Buffer cache 中找到能够存放该块的位置,如果没有足够的空间来存放,那么就需要清理LRU 中的块,Oracle 9i 中默认扫描40% LRU ,如果还没有找到,那么就通知DBWR 进程写脏数据,清除足够的位置,当DBWR 进程工作时,Oracle 会话在buffer busy wait 上等待。

V$sysstat 中的log buffer inspected log buffer requested 统计信息,记录了Oracle 进程扫描LRU 和请求空缓冲区的次数,如果前者大于后者,则表明系统可能有不正常的情况。

会话在log buffer waits 上的等待可能有5 种原因:

1)         低效率的SQL 语句。

2)      不充足的DBWR 进程:

从视图x$kcbwds 中可以查看工作集和DBWR 进程的对应关系:select set_id,dbwr_num from x$kcbwds;

3)      缓慢的IO 子系统。

4)      延迟块清除(delay cleanout 

Oracle DBWR 进程以各种时间间隔将已提交和未提交的块写入到磁盘中,在事物提交时,Oracle 对没有写出的块执行提交清除,对已经写出的块不做处理,这些不做处理的块,在下一次读取时被读取进程执行清除操作,这就是延迟块清除。

5)      较小的缓冲存储器

4.        Write complete waits 等待事件:

关键思想:阻止Oracle 修改DBWR 进程正在写入的块。

当前台进程想要修改被DBWR 进程标记为“正在写入”的块,而标记为“正在写入”的块是不能被修改的,直到他们被写入磁盘并将标记清除。造成此等待事件的原因通常有:

1)         缓慢的I/O 子系统造成高DBWR 写出时间。

2)      MTTR 太短,造成频繁的写出操作。

3)      DBWR 写出批量尺寸太大,造成每次写出的时间过长。

4)      Oracle 8i 之前的写出批量是4096 块,从8i 开始默认写批量的大小改为204 块。

5.        Log file switch completion 等待事件:

关键思想:较小的日志文件和大量的redo entry 造成了过多的日志切换。

我们通常是保持在高峰期间每隔15~30min 切换一次日志文件。

6.        Log file switch(checkpoint incomplete) 等待事件:

由于检查点未完成,切换日志的操作被迫等待。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24465008/viewspace-688094/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24465008/viewspace-688094/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值