当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle10gR2中调整user commit的方法

Oracle
Oracle:小编浅谈把文本文件导入oracle
Oracle:小编概述数据库安全性
ORACLE常见错误代码的分析与解决(一)
Oracle7.X 回滚表空间数据文件误删除处理方法
Oracle数据库的备份与恢复
常见数据库系统比较 Oracle数据库
在Linux下安装Oracle
怎么才能限制SQL Server只能让指定的机器连接
Oracle 8i在P4上的安装
oracle初始化参数设置
Oracle性能究极优化 下
Oracle性能究极优化
Oracle性能究极优化 上
Oracle如何直接运行OS命令(下)
Oracle如何直接运行OS命令(上)
Oracle数据库安全策略分析 (三)
Oracle数据库安全策略分析(二)
Oracle数据库安全策略分析(一)
自动备份Oracle数据库
ORACLE常见错误代码的分析与解决(二)

Oracle10gR2中调整user commit的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 54 ::
收藏到网摘: n/a


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