Oracle数据库恢复技术概述.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

Oracle数据库恢复技术概述

?

?

李永亮++郑晨溪

摘要:本文通过对Oracle数据库物理结构和重做日志的分析,指出了重做日志是数据恢复的关键,进而介绍了数据恢复的原理,更能凸显重做日志在数据恢复中的核心地位。了解重做日志原理和数据恢复的过程对日常维护工作中出现的各种Oracle数据恢复情景都有重要的指导意义。随着数据库技术的高速发展,Oracle数据库现已广泛运用于各企事业单位的信息化建设,并逐步发展成为各单位信息化管理的重要基础,尤其一些核心业务数据保存在Oracle数据库里,数据库的数据安全显得尤为重要。

关键词:数据库数据恢复重做日志重做记录

:TP311:A:1007-9416(2014)12-0202-01

一旦造成数据丢失,将会付出巨大的工作量去弥补数据,也可能因此造成不可挽回的损失。因此对从事数据库管理的DBA来说,做好数据的备份与恢复是一项很重要的工作,本文主要针对Oracle数据库的恢复相关的技术进行探讨。

1Oracle数据库的物理结构

Oracle数据库主要由参数文件、数据文件、重做日志文件和控制文件等组成。数据文件、重做日志文件和控制文件是最核心的文件,其中数据文件保证了数据库数据的持久存在,保存了所有生成的数据;重做日志文件保证了数据库的可恢复性,保存数据文件、控制文件等各类文件一段时间以来的修改记录;控制文件的作用主要是确定数据文件和重做日志文件的路径、数据库字符集、数据库当前状态、检查点信息、保存其它文件头部的部分信息以便交叉校验及提供备份信息资料库等。这三类文件是打开数据库所必需的,缺一不可,其中重做日志在备份恢复是最重要的。

2重做日志的作用与原理

重做日志可分为在线重做日志和归档重做日志,在线重做日志是重做记录在磁盘上的临时保存地点,它是数据库完全恢复的关键;归档重做日志文件是对过去时间在线重做日志的永久保存。理论上只要数据库的重做日志完整,数据库就能被完全恢复。

重做日志文件保存的数据称为重做记录,是它使数据库具备了恢复的能力。对数据库做出的任何形式的更改,都会在真正执行更改操作之前产生一条重做记录,该记录包含一个或多个操作,记载了数据库如何从一个状态改变到另一个状态的具体步骤,其中包含对多个数据块的修改,也可能包含对控制文件和其他文件的修改。

一个数据库的状态变更对应一条重做记录,重做记录则包含一个或多个变更矢量,变更矢量记载了对一个数据块的原子操作。

以一个update语句为例看一下重做记录的各个变更矢量,正常情况update命令会产生一条包含4个变更矢量的重做记录。首先是对撤销数据修改的两个变更矢量,然后是具体的update操作的数据块的变更矢量,最后一个矢量是一个标记,不修改任何对象。因此这条重做记录包含了重做记录头部和4条变更矢量。

通过重做记录可以看出数据文件的更新落后于在线日志文件的内容,这个也是在数据完全恢复时为什么总是需要在线重做日志的原因,只有应用在线重做日志才能保证数据不丢失。如果在线日志文件全部损坏的话,那就只能不完全恢复了。

3数据恢复的原理

Oracle数据库恢复一般分为两类,实例恢复和介质恢复。实例恢复主要是在数据库启动过程中发现数据库文件不同步,自动利用在线日志中的重做记录自动对文件进行恢复的过程。介质恢复主要是在文件物理损坏的情况下,将数据库还原和恢复,最后使数据库正常运行的过程。因此实例恢复的前提是数据文件、控制文件和在线日志文件必须没有损坏,其局限性也明显,介质恢复才是日常数据恢复的一种常见情况。不论哪类的恢复都需要重做日志的支持。

实例恢复一般指实例崩溃(断电)或使用命令强制关闭数据库时的一类恢复,那时有一定的脏数据块还在缓存里,事务可能有的已经提交有的尚未提交,更严重的是,有的事务未提交,但它们的数据块已经被写回到数据文件中,这样数据库事务的持久性和原子性都遭到破坏,因此实例恢复的第一步就是自动前滚,只要将数据文件头部的检查点SCN(系统变更号)和当前在线日志文件中必威体育精装版的重做记录SCN比较,判断数据文件是否同步,如果数据文件头部SCN小于重做记录SCN,则开始前滚,前滚操作主要是从某一个检查点开始,逐条读取在线重做日志里记录的重做记录,更新相应的数据块,直至用完在线日志的最后一条重做记录。前滚只是解决了数据的持久性,对未提交的变更和提交的变更都依据在线重做日志恢复出来了,但是破坏了原子性,因此实例恢复的第二步需要对未提交的事务进行回滚,这个是自动进行的。

介质恢复主要因为数据文件遭到了某种程度的破坏,因此第一步需要先将之前的备份复制到原来的位置,虽然备份的文件完整性没问题,但是头部的检查点SCN与在线日志的SCN不连续,无法进行实例恢复,因此需要进行手工恢复,利用recover命令读取归档日志和在线日志中的重

文档评论(0)

132****3356 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档