全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle的redo和undo的区别redo- undo-datafile insert一条记录时, 表跟undo的信息都会放进 redo 中, 在commit 或之前, redo 的信息会放进硬盘上. 故障时, redo 便可恢复那些已经commit 了的数据. redo-每次操作都先记录到redo日志中,当出现实例故障(像断电),导致数据未能更新到数据文件,则数据库重启时须redo,重新把数据更新到数据文件 undo-记录更改前的一份copy,但你系统rollback时,把这份copy重新覆盖到原来的数据 redo-记录所有操作,用于恢复(redo records all the database transaction used for recovery) undo-记录所有的前印象,用于回滚(undo is used to store uncommited data infor used for rollback) redo-已递交的事务,实例恢复时要写到数据文件去的 undo-未递交的事务. redo的原因是:每次commit时,将数据的修改立即写到online redo中,但是并不一定同时将该数据的修改写到数据文件中。因为该数据已经提交,但是只存在联机日志文件中,所以在恢复时需要将数据从联机日志文件中找出来,重新应用一下,使已经更改数据在数据文件中也改过来! undo的原因是:在oracle正常运行时,为了提高效率,加入用户还没有commit,但是空闲内存不多时,会由DBWR进程将脏块写入到数据文件中,以便腾出宝贵的内存供其它进程使用。这就是需要UNDO的原因。因为还没有发出commit语句,但是oracle的dbwr进程已经将没有提交的数据写到数据文件中去了。 undo 也是也是datafile, 可能dirty buffer 没有写回到磁盘里面去。 只有先redo apply 成功了,才能保证undo datafile 里面的东西都是正确的,然后才能rollback 做undo的目的是使系统恢复到系统崩溃前(关机前)的状态,再进行redo是保证系统的一致性. 不做undo,系统就不会知道之前的状态,redo就无从谈起 所以instance crash recovery 的时候总是先rollforward, 再rollback undo 回退段中的数据是以“回退条目”方式存储。 回退条目=块信息(在事务中发生改动的块的编号)+在事务提交前存储在块中的数据 在每一个回退段中oracle都为其维护一张“事务表” 在事务表中记录着与该回退段中所有回退条目相关的事务编号(事务SCN&回退条目) redo 重做记录由一组“变更向量”组成。 每个变更变量中记录了事务对数据库中某个块所做的修改。 当用户提交一条commit语句时,LGWR进程会立刻将一条提交记录写入到重做日志文件中,然后再开始写入与该事务相关的重做信息。 #事务提交成功后,Oracle将为该事备生成一个系统变更码(SCN)。事务的SCN将同时记录在它的提交记录和重做记录中。 commit 提交事务前完成的工作: 在SGA区的回退缓存中生成该事务的回退条目。在回退条目中保存有该事务所修改的数据的原始版本。 在SGA区的重做日志缓存中生成该事务的重做记录。重做记录中记载了该事务对数据块所进行的修改,并且还记载了对回退段中的数据块所进行的修改。缓存中的重做记录有可能在事务提交之前就写入硬盘中。 在SGA区的数据库缓丰中记录了事务对数据库所进行的修改。这些修改也有可能在事务提交之前就写入硬盘中。 提交事务时完成的工作: 在为该事务指定的回退段中的内部事务表内记录下这个事务已经被提交,并且生成一个惟一的SCN记录在内部事务表中,用于惟一标识这个事务。 LGWR后进进程将SGA区重做日志缓存中的重做记录写入联机重做日志文件。在写入重做日志的同时还将写入该事务的SCN。 Oracle服务进程释放事务所使用的所有记录锁与表锁。 Oracle通知用户事务提交完成。 Oracle将该事务标记为已完成。 rollback 回退事务完成的工作: Oracle通过使用回退段中的回退条目,撤销事务中所有SQL语句对数据库所做的修改。 Oracle服务进程释放事务所使用的所有锁 Oracle通知事务回退成功。 Oracle将该事务标记为已完成 举个例子: insert into a(id) values(1);(redo) 这条记录是需要回滚的。 回滚的语句是delete from a where id = 1;(undo) 试想想看。如果没有做insert into a(id) values(1);(redo) 那么delete from a where id = 1;(undo)这句话就没有意义了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字经济下小米公司的财务战略
- 汉语言毕业论文题目范例
- 浅谈当代社会现象与反思
- 习作指导课妙笔写美景
- 2025年秋统编版(五四学制)(新教材)中国历史第二册上学期期末综合测试卷及答案
- 医疗人力资源弹性工作制实施效果分析
- 医学心理咨询技能虚拟训练
- 2025年山东省公务员考试行测资料分析专项训练试卷(含答案)
- 浅析格里格钢琴作品《安妮特拉舞曲》
- 2025年城市可持续发展评价体系研究项目可行性研究报告及总结分析
- IT系统运维管理规范模板
- 2025年药学三基考核试题及答案
- 安徽省县中联盟2025-2026学年高一10月联考语文试题(含答案)(解析版)
- DB43∕T 388-2020 用水定额标准规范
- 小升初数学衔接方法指导
- 装载机安全培训考试试题及答案解析
- 基于Android平台的天气预报系统的设计与开发毕业论文
- 深圳市宝安区2026学年高三语文第一学期教学质量监测作文解析+范文
- 一件代发协议合同范本
- GB/T 32965-2025钢渣加工和金属回收技术规范
- 企业费用报销流程模板
评论
0/150
提交评论