设置重做日志缓冲区的目的就是为了在数据库崩溃的时候可以进行恢复数据库。
当oracle进行dml或者ddl操作的时候,在写数据高速缓冲区之前,先写入重做日志缓冲区。
oracle执行dml操作的时候,只有编译和执行,没有提取数据。
例如,在进行update操作的时候:
(1)如果数据或者回滚的数据不在数据库高速缓冲区中,oracle将从数据文件中读到数据库高速缓存区中。
(2)oracle服务器进程将要修改的数据行加锁(行级锁)。
(3)oracle服务器进程将数据的变化信息和回滚所需的信息都保存在重做日志缓冲区中
(4)oracle服务器将回滚所需的原始值和对数据所作的修改都写入数据库高速缓冲区。之后在数据库高速缓冲区中所有的这些数据块列为脏缓冲区,因为此时内外存的数据不一样。