(2010-09-12)Oracle中,一个Delete操作的流程
来源:互联网 发布:赵薇戴立忍事件 知乎 编辑:程序博客网 时间:2024/04/28 15:33
Oracle中,一个Delete操作的流程
删除(DELETE)
1.Oracle读Block到Buffer Cache(如果该Block在Buffer中不存在)
2.在redo log buffer中记录delete操作的细节
3.在相应回滚段段头的事务表中创建一个undo条目
4.把将要删除的记录创建前镜像,存放到Undo Block中
5.在Buffer Cache中的相应数据块上删除记录,并且标记相应的数据块为Dirty
提交(COMMIT)
1.Oracle产生一个SCN
2.在回滚段事务表中标记该事务状态为commited
3.LGWR Flush Log Buffer到日志文件
3.如果此时数据块仍然在Buffer Cache中,那么SCN将被记录到Block Header上,这被称为快速提交(fast commit)
4.如果dirty block已经被写回到磁盘,那么下一个访问这个block的进程将会自回滚段中获取该事务的状态,确认该事务被提交。然后这个进程获得提交SCN并写回到Block Header上。这被称为延迟块清除(delayed block cleanout)。
- (2010-09-12)Oracle中,一个Delete操作的流程
- Oracle中,一个Delete操作的流程
- Oracle中,一个Delete操作的流程
- Oracle中Delete操作的流程
- Oracle中Delete和Commit操作的流程分析
- ORACLE中一个UPDATE的操作流程
- oracle中delete、truncate、drop,删除操作的区别
- Oracle delete执行过程的流程介绍
- oracle delete 和truncate 操作的区别
- Oracle EBS 中退货订单流程的系统操作记录
- Oracle 中truncate和delete的区别
- Oracle 中truncate与delete的区别
- Oracle 中truncate与delete的区别
- Oracle 中truncate与delete的区别
- Oracle 中truncate与delete的区别
- Oracle 中truncate与delete的区别
- oracle 闪存中找出delete的数据
- Oracle 中truncate与delete的区别
- java回调函数
- 9月12日总结
- c# 输入五个数用冒泡排序法实现由大到小的排列
- js过滤重复数组
- linux上安装oracle11.2.0
- (2010-09-12)Oracle中,一个Delete操作的流程
- 俺编写的俄罗斯方块比较简单
- 开学第二周
- C语言的学习
- Winform DataGridView 删除、修改
- 指向结构的指针(K&R摘录
- 返璞归真。回归自然
- 一个工人工资管理系统
- 软件产品线