linux
===========================================================
zt:Oracle10gR2中调整user commit的实用方法
===========================================================
在以前的的Oracle版本中,假如用户commit,后台的LGWR进程必将会把内存中的redo数据写入到online redo log的文件里,之后又会将控制权返回给用户,需要注意的是,其实这段很可能并不是磁盘操作,而是写入到磁盘缓冲中的。假如应用中有过于频繁的用户commit,那么很可能会产生明显的log file sync的等待事件。
而Oracle10g中的新功能-Asynchronous Commit可能是解决这个问题的一个最新方法。
Oracle10g中,我们可以设置commit的行为来做到在commit之后,控制权立刻返回给用户,而Oracle会在恰当的时候来唤醒LGWR,批量更新online redo log文件。
我们可以作系统级的更改:
ALTER SYSTEM SET COMMIT_WRITE = BATCH, NOWAIT
同样我们也可以在commit时单独使用,这样作虽然意味着即使commit了事务,在数据库恢复时也是不一定找得回来的。但从安全换效率的角度考虑,此做法也不失为权益之计。
COMMIT WRITE BATCH NOWAIT
lfree 发表于:2008.05.04 08:26 ::分类: ( oracle2008 ) ::阅读:(67次) :: 评论 (0)

发表评论
标题

在此添加评论
表情符号: smile laughing tongue angry crying sad wassat wink

称呼

邮箱地址(可选)

个人主页(可选)

 authimage


自我介绍
切换风格
新闻聚合
博客日历
文章归档...
最新发表...
最多阅读文章...
最多评论文章...
博客统计...
Blog信息
网站链接...