下载此文档

REDOLOG与UNDOLOG这两个概念的区别.docx


文档分类:行业资料 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
REDOLOG与UNDOLOG这两个概念的区别--转载转自:[url]escheng/archive/2008/05/08/.html[/url]redolog重做日志/undolog撤消日志重做日志:每当有操作执行前,将数据真正更改时,先前相关操作写入重做日志。这样当断电,或者一些意外,导致后续任务无法完成时,系统恢复后,可以继续完成这些更改撤消日志:当一些更改在执行一半时,发生意外,而无法完成,则可以根据撤消日志恢复到更改之前的壮态网上找到一些解说:以便以后自己参考有两个概念:前滚与回退比如某一时刻数据库DOWN机了,有两个事务,一个事务已经提交,另一个事务正在处理数据库重启的时候就要根据日志进行前滚及回退,把已提交事务的更改写到数据文件,未提交事务的更改恢复到事务开始前的状态。redo-->undo-->datafileinsert一条记录时,表跟undo的信息都会放进redo中,在commit或之前,,->每次操作都先记录到redo日志中,当出现实例故障(像断电),导致数据未能更新到数据文件,则数据库重启时须redo,重新把数据更新到数据文件undo->记录更改前的一份copy,但你系统rollback时,把这份copy重新覆盖到原来的数据redo->记录所有操作,用于恢复(redorecordsallthedatabasetransactionusedforrecovery)undo->记录所有的前印象,用于回滚(miteddatainforusedforrollback)redo->已递交的事务,实例恢复时要写到数据文件去的undo->:mit时,将数据的修改立即写到onlineredo中,但是并不一定同时将该数据的修改写到数据文件中。因为该数据已经提交,但是只存在联机日志文件中,所以在恢复时需要将数据从联机日志文件中找出来,重新应用一下,使已经更改数据在数据文件中也改过来!undo的原因是:在oracle正常运行时,为了提高效率,mit,但是空闲内存不多时,会由DBWR进程将脏块写入到数据文件中,以便腾出宝贵的内存供其它进程使用。这就是需要UNDO的原因。mit语句,但是oracle的dbwr进程已经将没有提交的数据写到数据文件中去了。undo也是也是datafile,可能dirtybuffer没有写回到磁盘里面去。只有先redoapply成功了,才能保证undodatafile里面的东西都是正确的,然后才能rollback做undo的目的是使系统恢复到系统崩溃前(关机前)的状态,,系统就不会知道之前的状态,redo就无从谈起所以instancecrashrecovery的时候总是先rollforward,再rollbackundo回退段中的数据是以“回退条目”方式存储。回退条目=块信息(在事务中发生改动的块的编号)+在事务提交前存储在块中的数据在每一个回退段中oracle都为其维护一张“事务表”在事务表中记录着与该回退段中所有回退条目相关的事务编号(&回退条目)redo重做记录由一组“变更向量”组成。每个变更变量中记录了事务对数据库中某个块所做的修改。mit语句时,LGWR进程会立刻将一条提交记录写入到

REDOLOG与UNDOLOG这两个概念的区别 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人miao19720107
  • 文件大小77 KB
  • 时间2020-09-18