• 博客访问: 27509
  • 博文数量: 51
  • 用 户 组: 普通用户
  • 注册时间: 2015-04-05 19:37
  • 认证徽章:
个人简介

以道统术,以术得道。以悟助其道,以修辅其术。

文章分类

全部博文(51)

文章存档

2017年(9)

2016年(42)

我的朋友

分类: Oracle

2017-04-13 10:34:37

数据库中的log file sync等待事件指的是,当user session 提交(commit)时,user session会通知LGWR进程将redo buffer中的信息写入到redo log file,当LGWR进程完成写操作后,LGWR进程再post(通知)user session 写操作已经完成,user session 接收到LGWR的通知后提交操作才完成。因此user session 在没有收到LGWR post(通知)之前一致处于等待状态,具体的等待事件为log file sync。根据实践经验,引起log file sync等待事件的原因有以下几种:

事务过度的提交,即应用程序过度commit或者rollback

存储I/O资源紧张,导致lgwr进程写速度缓慢。

CPU资源紧张,lgwr进程获得不了响应的CPU时间片。

RAC节点之间SCN同步。

RAC节点之间CR块传递。

控制文件争用。

log file sync等待事件的优化方案:
(1)优化了redo日志的I/O性能,尽量使用快速磁盘,不要把redo log file存放在raid 5的磁盘上; RAID 5--->RAID 1+0
(2)加大日志缓冲区(log buffer);
(3)使用批量提交,减少提交的次数;
(4)部分经常提交的事务设置为异步提交;ALTER SESSION SET COMMIT_WRITE = NOWAIT;
(5)适当使用NOLOGGING/UNRECOVERABLE等选项;
(6)采用专用网络,正确设置网络UDP buffer参数;
(7)安装最新的数据库版本避免bug;


阅读(488) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册