概述
还原数据和重做数据初看很相似,但是二者的作用却截然不同。如果需要还原更改,则需要还原数据,而且为了保持读取一致性和执行回退,也需要还原数据。在因某种原因而丢失了所做更改时,如果需要再次执行更改,则需要用到重做数据。还原块更改也写入重做日志。
提交过程需要验证在事务处理中所做的更改是否已写入重做日志文件。此重做日志文件会永久保存在磁盘上,而不是保存在内存中。此外,重做日志文件通常是多路复用的。因此,磁盘上有重做数据的多个副本。虽然更改可能尚未写入实际存储表块的数据文件,但只要写入到持久重做日志,就足以确保数据库的一致性。
假设在已提交的更改反映到数据文件之前刚好发生断电。因为事务处理已提交,所以这种情况不会导致问题。当系统再次启动时,就能够前滚断电时尚未反映到数据文件中的任何重做记录。
还原信息分为三类:
• 未提交的还原信息(活动):用来支持当前运行的事务处理;如果用户要回退事务
处理或事务处理失败时,需要用到这类信息。绝对不会覆盖未提交的还原信息。
• 提交的还原信息(未过期):不再需要用来支持运行的事务处理,但是为了符合
还原保留间隔,仍然要用到这类信息。这也称为“未过期”还原信息。只要不会
因缺少空间而导致活动事务处理失败,就会保留提交的还原信息。
• 过期的还原信息(过期):不再需要用来支持运行的事务处理。活动事务处理需要
空间时会覆盖过期的还原信息。
最后
以上就是合适曲奇为你收集整理的Oracle还原数据与重做数据的全部内容,希望文章能够帮你解决Oracle还原数据与重做数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复