Home > Database > Mysql Tutorial > body text

Oracle更新一条数据然后提交的整个经过(包括undo,redo,后台进程

WBOY
Release: 2016-06-07 15:50:42
Original
1312 people have browsed it

语句:UPDATE TEST SET A=999 WHERE A=1; 1.首先UPDATE操作开始前 数据块读入DATA BUFFER CACHE(或者已经在内存中)。然后在修改前将要修改的数据放到回滚段(或者已经在内存中),回滚段发生变化,产生REDO。 REDO BUFFER-演示 tranID file block row colu

语句:UPDATE TEST SET A=999 WHERE A=1;

1.首先UPDATE操作开始前

数据块读入DATA BUFFER CACHE(或者已经在内存中)。然后在修改前将要修改的数据放到回滚段(或者已经在内存中),回滚段发生变化,产生REDO。

REDO BUFFER-演示

tranID file block row column value
test    4   9    -    -    1   

2.开始UPDATE操作

此时开始UPDATE操作修改读入DATA BUFFER CACHE的数据块,将1改为999,产生REDO信息记录了UNDO数据块操作。

REDO BUFFER-演示
tranID file block row column value
test    4   9    -    -    1    
 test    3   19   1     1      999

3.执行COMMIT

此时执行COMMIT提交,在REDO产生一个COMMIT标记。

执行COMMIT后,LGWR进程将重做日志缓冲区记录顺序写入当前重做日志文件中

REDO BUFFER-演示
tranID file    block row column value
test    4      9      -    -    1    
 test    3      19    1     1      999
 test  commit  SCN   TIME STAMP

Oracle更新一条数据然后提交的整个经过(包括undo,redo,后台进程


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template