oracle笔记整理3——commit,rollback,flashback
来源:互联网 发布:mui css js哪边下载 编辑:程序博客网 时间:2024/04/30 07:29
1. commit和rollback
1) commit之前
a) 困难的工作已经完成,数据已经修改,99%的工作已经完成。
b) 已经在SGA中生成了undo块
c) 已经在SGA中生成了已修改数据块。
d) 已经在SGA中生成了对于前两项的缓存redo。
e) 已经得到了所需的全部锁。
2) commit时
a) 为事务生成一个SCN号。
b) LGWR将所有余下的缓存重做日志条目写到磁盘,并把SCN记录到在线重做日志文件中。这一步就是真正的COMMIT。
c) V$LOCK中记录这我们的会话持有的锁,这些所都将被释放,而排队等待这些锁的每一个人都会被唤醒,可以继续完成他们的工作。
d) 总结:写日志、做标记、释放锁。
3) rollback
a) rollback要做的事就是commit之前的推倒重来,非常耗时。
b) 撤销已做的所有修改。其完成方式如下:从undo段读回数据,然后实际上逆向执行前面所做的操作,并将undo条目标记为已用。如果先前插入了一行,ROLLBACK会将其删除。如果更新了一行,回滚就会取消更新。如果删除了一行,回滚将把它再次插入。
c) 会话持有的所有锁都将释放,如果有人在排队等待我们持有的锁,就会被唤醒。
2. flashback
1) 概述
闪回技术包括以下几项:
a) 闪回数据库(flashback database):基于闪回日志
b) 闪回丢弃(flashback drop):基于undo
c) 闪回版本查询(flashback version query):基于undo
d) 闪回事务查询(flashback transaction query):基于undo
e) 闪回表(flashback table):基于undo
2) 常用闪回语句
a) 闪回被drop掉的表
flashback table table_name to before drop;
b) 闪回被更改的数据
1.alter table table_name enable row movement;
2.flashback table table_name to timestamp to_timestamp(‘2013/12/03 18:50:00’,’yyyy/mm/dd hh24:mi:ss’);
c) 闪回数据版本查询
select * from table_name as of timestamp to_timestamp(‘2015-10-10 12:00:00’,’yyyy-mm-dd hh24:mi:ss’) where id = ‘01’;
——查询table_name表中2015-10-10 12:00:00之前的数据。
- oracle笔记整理3——commit,rollback,flashback
- oracle 事务处理 commit rollback
- oracle commit 和 rollback
- ORACLE COMMIT以及ROLLBACK机制
- oracle中的commit和rollback
- Oracle commit和rollback处理
- 整理关于oracle数据库中的commit和rollback的使用和原理
- Oracle redo undo commit rollback剖析
- oracle数据库中commit和rollback命令
- Oracle数据库中commit和rollback命令
- Commit、Rollback
- commit &rollback
- commit,rollback,savepoint事务__mysql学习笔记
- Oracle flashback 闪回 笔记
- ORACLE FLASHBACK DROP 知识整理
- ORACLE FLASHBACK QUERY 知识整理
- ORACLE FLASHBACK DATABASE 知识整理
- Oracle Flashback技术总结(一)—— Flashback Database
- Android 之 内存管理
- HDOJ 2512-一卡通大冒险【组合数学】
- 目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结
- 【Android策略】The content of the adapter has changed but ListView did not receive a notification
- 深入理解 C# 协变和逆变
- oracle笔记整理3——commit,rollback,flashback
- Android中的Universal-Image-Loader的使用
- 64位和32位系统编程
- 各个JSON技术的比较
- __weak __typeof(self)weakSelf = self和__strong __typeof(weakSelf)strongSelf = weakSelf
- MD5 Collision Generator(根据王小云教授的算法写的MD5碰撞的程序[c源代码])
- CRLF
- Bst的基本操作
- Android动画学习笔记-Android Animation