数据修改操作所生成的重做记录是随时写入重做日志文件的.只有当某个事务所产生的重做记录全部被写入重做日志文件后,ORACLE才认为这个事务已经成功提交

解决方案 »

  1.   

    只有当某个事务所产生的重做记录全部被写入重做日志文件后,ORACLE才认为这个事务已经成功提交
    楼上的这句话,有问题。提交与是否全部写入重做日志文件不是一个概念
    其实书上不是已经写得很明白了吗?“为所有事务保留一个拷贝”不仅提交时要写数据文件,而且在满足一些情况时也要写(dirty write),如:checkpoint时
      

  2.   

    To xbm2008(大道至简):
    怎么不是一回事?当用户提交commit语句时,LGWR进程会立刻将一条提交记录写入到重做日志文件中,而此时,这个事务所产生的脏缓存块并不会立刻被DBWR进程写入数据文件,这是“快速提交”机制.只要事务的提交记录和重做信息都被写入到重做日志文件,即使发生数据库崩溃,也可以通过重做记录完成恢复.