1,用户提交一个update语句
2,server process检查内存缓存
i 如果没有有效内存空间,启动DBWR,将缓存中未写入磁盘的脏数据块写入
ii 如果有有效空间,从磁盘读入数据
3,在缓存内更新数据
i 申请一个回滚段入口,将旧数据写入回滚段
ii 加锁更新数据
iii 并同时将修改记录在Redo log buffer 中
4,用户提交一个Commit
i SCN增加
ii 将Redo log buffer 写入Redo log file
iii 告诉用户 Commit完成
本文详细介绍了数据库中update和commit操作的具体流程,包括内存缓存检查、数据更新、回滚段使用、数据锁定、修改记录保存及日志文件更新等关键步骤。
1,用户提交一个update语句
2,server process检查内存缓存
i 如果没有有效内存空间,启动DBWR,将缓存中未写入磁盘的脏数据块写入
ii 如果有有效空间,从磁盘读入数据
3,在缓存内更新数据
i 申请一个回滚段入口,将旧数据写入回滚段
ii 加锁更新数据
iii 并同时将修改记录在Redo log buffer 中
4,用户提交一个Commit
i SCN增加
ii 将Redo log buffer 写入Redo log file
iii 告诉用户 Commit完成
817

被折叠的 条评论
为什么被折叠?