WEB开发网
开发学院数据库Oracle Oracle10gR2中调整user commit的方法 阅读

Oracle10gR2中调整user commit的方法

 2007-12-22 22:39:54 来源:WEB开发网   
核心提示:在以前的的Oracle版本中,假如用户commit,Oracle10gR2中调整user commit的方法,后台的LGWR进程必将会把内存中的redo数据写入到online redo log的文件里,之后又会将控制权返回给用户,在数据库恢复时也是不一定找得回来的,但从安全换效率的角度考虑,需要注意的是,其实这段很可能


在以前的的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
 

Tags:OraclegR 调整 user

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接