ImageVerifierCode 换一换
格式:DOCX , 页数:72 ,大小:46.78KB ,
资源ID:28054546      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28054546.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(备份和恢复.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

备份和恢复.docx

1、备份和恢复Backup and Recovery备份(backup)及恢复(recovery)过程能够保护数据库,防止数据丢失,并在需要时重建数据。重建数据通常是通过介质恢复(media recovery)实现的,介质恢复是指利用备份的数据库文件所执行的复原(restoring),前滚(rolling forward),及回滚(rolling back)等一系列操作。本章将介绍设计备份恢复策略时需要掌握的基本概念。本章包含以下主题: 备份简介 恢复简介 如何选择适当的恢复方式另见: “数据库备份与恢复特性概述”15.1 备份简介备份(backup)是数据的一个副本(copy of data)。

2、这个副本中通常包含数据库的重要组成部分,例如控制文件(control file)及数据文件(datafile)等。备份能够减少不可预见的数据丢失或应用程序错误造成的损失。如果原始数据丢失,用户可以使用备份重建数据。备份分为物理备份(physical backup)及逻辑备份(logical backup)。物理备份指物理数据库文件的副本,物理备份是备份恢复策略的主体。用户可以使用 Recovery Manager(RMAN)或操作系统工具进行物理备份。与物理备份相对的是逻辑备份,这种备份方式使用 Oracle 工具抽取逻辑数据(例如,表或存储过程)并保存在二进制文件中。逻辑备份可以作为物理备份

3、的补充。进行 Oracle 备份恢复的方式有两种:使用 Recovery Manager 进行备份恢复,或手工管理(user-managed)的备份恢复。Recovery Manager (RMAN) 是用于备份(back up),复原(restore),及恢复(recover)数据库文件的 Oracle 工具。RMAN 是 Oracle 数据库的内置工具,无须单独安装。用户也可以使用操作系统命令进行备份,并使用 SQL*Plus 进行恢复。这种方式被称为手工管理的备份恢复。Oracle 同时支持上述两种方式,但强烈建议采用 RMAN,因为采用 RMAN 的备份恢复方式更为健壮,且能够极大地简

4、化备份恢复的管理工作。无论用户采用 RMAN 或手工管理的备份恢复,都可以使用 Export utility(导出工具)对方案对象(schema object)进行逻辑备份,作为物理备份的补充。Export 能够将 Oracle 数据库内的数据写入二进制的操作系统文件。用户可以使用 Import utility(导入工具)将数据恢复到数据库中。本节包含以下主题: 一致性备份与非一致性备份 数据库完全备份与数据库部分备份 RMAN 备份与手工管理备份另加:“何时采用 Import/Export 工具恢复”了解关于逻辑备份的信息一致性备份(consistent backup)的含义是,备份所包含的

5、各个文件中的所有修改都具备相同的系统变化编号(system change number,SCN)。也就是说,备份所包含的各个文件中的所有数据均来自同一时间点。与非一致性备份(inconsistent backup)不同,使用一致性数据库完全备份(consistent wholedatabase backup)进行复原(restore)后,不需要执行恢复操作(recovery)。非一致性备份指,在数据库处于打开(open)状态时,或数据库异常关闭(shut down abnormally)后,对一个或多个数据库文件进行的备份。对数据库整体或部分进行的一致性备份(consistent backup

6、)后,备份中所有数据文件(datafile)及控制文件(control file)都经历过检查点(checkpoint),拥有相同的 SCN。进行一致性数据库完全备份(consistent whole database backup)的唯一方法是:首先使用 NORMAL,IMMEDIATE,或 TRANSACTIONAL 选项关闭数据库,并在数据库处于关闭状态时进行备份。如果数据库没有完全关闭,例如出现实例故障,或用户使用了 SHUTDOWN ABORT 语句,此时数据库的数据文件是非一致性的,除非此数据库为只读数据库(read-only database)。Oracle 通过数据库检查点操作

7、使数据文件和控制文件拥有相同的 SCN,即具备一致性。在一致性备份中,只有只读表空间(read-only tablespace)及脱机表空间(offline tablespace)的 SCN 可以比备份中其他文件的 SCN 滞后。这两种表空间内的数据不会被修改,因此她们也能满足一致性的要求。一致性数据库完全备份的重要特点是,使用此种备份复原(restore)的数据库无须恢复(recovery)即可打开(open),这是因为复原的数据库具备一致性:复原的数据文件内的数据是正确的,无须用户进行任何 处理。用户可以使用一年前的一致性备份复原数据库,而无须进行介质恢复(mediarecovery),O

8、racle 也不必执行实例恢复(instance recovery)。但是,如果使用一致性备份复原数据库而没有应用重做日志(applying redo),备份之后产生的事务将全部丢失。如果数据库运行在 NOARCHIVELOG(非归档)模式下,一致性数据库完全备份是唯一有效的备份方案,因为使用非一致性备份(inconsistent backup)复原数据库后需要执行恢复操作来确保数据一致性。在 NOARCHIVELOG 模式下,Oracle 不会对重做日志进行归档,因此恢复所需的重做日志可能已经不存在了。而运行在 ARCHIVELOG(归档)模式下的数据库,可以采用一致性数据库完全备份。当使用

9、此种备份复原数据库后,用户可以立即打开数据库,使备份后发生的事务全部丢失;如果归档的重做日志存在,用户也可以应用这些日志从而恢复备份后发生的事务。15.1.1.2 非一致性备份概述非一致性备份(inconsistent backup)的含义是,备份所包含的各个文件中的所有修改不具备相同的系统变化编号(system change number,SCN)。换句话说,有些修改在备份中不存在。这意味着备份所包含的各个文件中的所有数据来自不同的时间点。如果数据文件在备份的同时也在被修改就会出现上述情况。Oracle 的恢复(recovery)操作能够比较所有数据文件头(datafileheaders)中

10、的 SCN,之后以最早的 SCN 为起点读取归档及联机重做日志文件,并将其中出的所有修改应用到复原的数据文件中。如果数据库必须 24*7 地工作,对这样的数据库只能进行非一致性数据库完全备份。联机数据文件的备份被称为联机备份(online backup)。需要进行联机备份的数据库必须运行在 ARCHIVELOG(归档)模式下。如果数据库运行在 ARCHIVELOG 模式下,用户不必每次都进行数据库完全备份。例如,如果数据库包含七个表空间,用户每晚都备份控制文件及一个不同的表空间,那么一周后用户就已经备份了数据库的全部表空间及控制文件。用户可以把这个交错的备份作为数据库完全备份。如果需要使用这个

11、交错的备份 恢复数据库,除了复原数据之外,用户还需应用最早备份时间之后的产生所有归档重做日志。警告:Oracle 强烈建议,运行在 NOARCHIVELOG 模式下的数据库关闭后不要进行非一致性备份。如果用这样的备份复原数据库有可能造成数据损坏。另见:在进行联机备份(online backup)后或关闭(close)数据库后进行非一致性备份(inconsistent backup)后,一定要归档未归档的重做日志,以保存恢复(recover)所需的重做数据。15.1.1.2.2 备份归档日志文件及控制文件在进行了非一致性备份后(无论备份时数据库是打开(open)或关闭(close)状态),Ora

12、cle 建议首先对非一致性备份期间产生的归档重做日志进行备份,再对非一致性备份完成后的控制文件进行备份。如果用户没有备份非一致性备份期间产生的归档重做日志,将无法恢复使用非一致性备份还原的数据库,因为此种情况下可能缺少足够的重做日志来使数据保持一致性。15.1.2 数据库完全备份与数据库部分备份本节讨论以下主题: 数据库完全备份 表空间备份 数据文件备份 控制文件备份 归档重做日志备份另见:了解关于逻辑备份的信息15.1.2.1 数据库完全备份数据库完全备份(whole database backup)是数据库内所有数据文件(datafile)及控制文件(control file)的备份。数据

13、库完全备份是最常用的一种备份。运行在 ARCHIVELOG(归档)及 NOARCHIVELOG(非归档)模式下的数据库都可以进行数据库完全备份。在 进行数据库完全备份前,应了解在ARCHIVELOG 及 NOARCHIVELOG 模式下各种备份方案间的关系。图 15-1 显示了进行数据库完全备份时所有可能的备份方案。039 Figure 15-1 Whole Database Backup Options图 15-1 数据库完全备份方案数据库完全备份既可以是一致性备份(consistent backup)或非一致性备份(inconsistent backup)。备份的类型决定了使用备份复原(r

14、estore)数据库后是否需要应用重做日志(redo log)。15.1.2.2 表空间备份表空间备份(tablespace backup)是构成表空间的数据文件(datafile)的备份。例如,如果 users 表空间包含数据文件 2,3,及 4,那么对 users 表空间进行备份时就应备份这三个数据文件。表空间备份可以是联机的(online)或脱机的(offline),但数据库必须运行在 ARCHIVELOG(归档)模式下表空间备份才是有效的。因为在使用表空间备份复原(restore)一个表空间后,必须应用重做日志(redo)才能使其与其他表空间保持一致性。15.1.2.3 数据文件备份数

15、据文件备份(datafile backup)是对单个数据文件(datafile)的备份。与表空间备份(tablespace backup)相比,数据文件备份较少被使用。数据库运行在 ARCHIVELOG(归档)模式下时数据文件备份才有效。但有两种例外情况,数据库运行在 NOARCHIVELOG (非归档)模式下数据文件备份也有效: 构成表空间的所有数据文件都进行了备份。用户必须使用所有数据文件来复原数据库。 数据文件是只读的或脱机(offline-normal)的。047 See Also:另见:15.1.2.4 控制文件备份备份控制文件(control file)是备份与恢复(recover

16、y)过程中的重要工作。没有控制文件,数据库将无法挂载(mount)或打开(open)。用户可以利用 RMAN 命令 CONFIGURE CONTROLFILE AUTOBACKUP 来实现在运行备份作业时自动地备份控制文件。由于自动备份功能(autobackup)使用默认的文件名,即使 RMAN 资料库不可用 RMAN 也能使用备份复原(restore)数据库。因此,这个功能在灾难恢复(disasterrecovery)工作中可以发挥重要作用。用户也可以采用以下方式手工备份控制文件: RMAN 的 BACKUP CURRENT CONTROLFILE 命令能够以二进制的格式备份控制文件。备份可

17、以存在于备份集(backup set)或镜像副本(image copy)中。 SQL 语句 ALTER DATABASE BACKUP CONTROLFILE 能够以二进制的格式备份控制文件。 SQL 语句 ALTER DATABASE BACKUP CONTROLFILE TO TRACE 能够将控制文件的内容导出为 SQL 脚本文件。用户可以使用此脚本创建新的控制文件。但跟踪文件备份(trace file backup)有一个重大缺点。跟踪文件无法备份归档重做日志(archived redo log)及 RMAN 备份与备份副本。因此采用二进制格式的备份更为适宜。另见: Oracle Da

18、tabase Backup and Recovery Reference15.1.2.5 归档重做日志备份在恢复(recover)使用非一致性备份(inconsistent backup)复原(restore)的数据库时,归档重做日志(archived redo log)必不可少。除非使用了 RMAN的增量备份(incremental backup)功能,否则必须利用归档重做日志对非一致性备份进行恢复。如需将一个备份恢复到最新日志点(recent log),则必须使用从复原点到最新日志点间的所有重做日志。举例来说,如果 173 号重做日志丢失,用户就无法将数据库从 100 号日志点恢复到 20

19、0 号日志点。此时用户只能在 172 号日志点处停止恢复,并使用 RESETLOGS 选项打开(open)数据库。由于归档重做日志在恢复中必不可少,用户应该周期性地对其进行备份。如条件允许,还应将备份复制到磁带上。用户可以采用以下方法对归档重做日志进行备份: RMAN BACKUP ARCHIVELOG 命令 RMAN BACKUP . PLUS ARCHIVELOG 命令 操作系统工具另见:15.1.3 RMAN 备份与手工管理备份备份有两种类型(type):镜像副本(image copy)及备份集(backup set)。镜像副本是与数据文件(datafile),控制文件(control

20、file)或归档重做日志文件(archived log)完全一致的副本。用户可以使用操作系统工具或 RMAN创建镜像副本,也能够使用操作系统工具或 RMAN 直接利用镜像副本恢复数据库,而无须任何额外处理。提示:RMAN 与 操作系统复制的区别在于,RMAN 能够验证备份文件内数据块的有效性,并在资料库中记录复制的情况。备份集(backup set)是由被称为备份成员(backup piece)的一个或多个物理文件构成的,其格式为 RMAN 自有格式。备份集与镜像副本的区别在于,备份集内可以包含多个数据文件,且备份过程中可以进行特殊处理,例如压缩或增量备份(incremental backup

21、)等。备份集必须使用 RMAN 来恢复。15.1.3.1 使用 RMAN 进行联机备份在联机备份(online backup)期间数据库仍会向数据文件中写入数据,因此备份中可能存在含有非一致性(inconsistent)数据的数据块(data block)。例如,RMAN 或操作系统工具在读取数据块的同时,数据库写进程可能会更新相同的数据块。此时,RMAN 或复制工具读取的数据块中既包含新数据,又包含旧数据。这样的数据块是无效块(fractured block),即块内的数据不具备一致性。在使用 RMAN 进行备份时,是 Oracle 数据库服务器而非操作系统工具负责读取数据文件(datafi

22、le)。数据库服务器逐一读取数据块并判断其是否有效。如果数据块是无效的,Oracle 会再次读取直道获得了具备一致性的数据块为止。如果用户使用操作系统工具(而非 RMAN)备份联机数据,则需采用另一种方式解决无效块的问题。用户需要首先使用 ALTER TABLESPACE BEGINBACKUP 语句(备份单独的表空间)或 ALTER DATABASE BEGIN BACKUP语句(备份整个数据库)将数据文件置为备份模式(backup mode)。在联机备份结束后,再使用 ALTER TABLESPACE . END BACKUP 或 ALTERDATABASE END BACKUP 将相关的

23、数据文件恢复原状态。当数据库对处于备份模式的文件进行修改操作时,系统会记录额外的重做数据(redo data)。这些数据用于修复操作系统工具备份中可能包含的无效块。15.2 恢复简介复原(restore)数据文件(datafile)或控制文件(control file)的物理备份是指利用备份重建这些文件并使其在 Oracle 数据库服务器中正常工作。而对复原的数据文件进行恢复(recover)是指利用归档重做日志(archived redolog)及联机重做日志(online redo log)对其进行更新,即重做在数据库备份后发生的操作。如果使用了 RMAN,用户也可以使用增量备份(incr

24、ementalbackup)来恢复数据文件,数据文件的增量备份中只包含其前一次增量备份后修改过的数据块。当所有文件被复原后,用户还需执行介质恢复(media recovery)的剩余步骤。介质恢复过程包括了对备份数据库文件的复原,前滚(roll forward)及回滚(roll back)等操作。在介质恢复过程中将应用归档重做日志及联机重做日志恢复数据文件。Oracle 每次修改数据文件之前,都会首先将这些修改记录在联机重做日志中。介质恢复过程 就是将归档重做日志及联机重做日志中的相关修改操作记录应用到复原的数据文件中以实现前滚。如果用户需要修正逻辑数据错误(logical data corr

25、uption)或用户操作失误(user error),可以使用 Oracle Flashback(回闪)技术。用户利用 OracleFlashback Database(回闪数据库)及 Oracle Flashback Table(回闪表)能够将数据迅速恢复到之前某个时间点的状态。图 15-2 显示了数据库备份,复原,及介质恢复的基本原理。图 15-2 介质恢复图 15-2 显示了数据库介质故障后进行复原及恢复的基本概念。数据库在 SCN 为 100 时进行了备份,在 SCN 为 600 时发生了介质故障。SCN 在 100 至 600 之间的重做日志已经被归档以供恢复只用。用户首先使用 SC

26、N 为 100 时制作的备份复原数据库(复原也可以在新介质上进行)。之后再使用重做日志恢复数据库,即重新执行从备份点到介质故障点之间的所有数据修改操作。与介质恢复不同,Oracle 在实例故障(instance failure)之后能自动地执行崩溃恢复(crash recovery)及实例恢复(instance recovery)。崩溃恢复及实例恢复能够在实例故障发生后将数据库恢复到满足事务一致性(transactionconsistent)的状态。崩溃恢复的定义是:单实例系统发生崩溃或 Oracle RAC系统中所有实例发生崩溃后对数据库进行的恢复。与之相对,实例恢复的定义是:Oracle

27、RAC 系统中正常实例对故障实例进行的恢复。本节包含以下主题: 介质恢复概述 RMAN 与手工管理的复原及恢复概述 利用 Oracle Flashback 技术实现恢复 其他类型的 Oracle 恢复另见:15.2.1 介质恢复概述先利用备份复原(restore)数据再应用重做日志(redo log)的恢复(recovery)方式被称为介质恢复(media recovery)。介质恢复能将一个复原的备份更新到当前时间点或之前某个指定的时间点。通常“介质恢复”这个术语专指对数据文件进行恢复的过程。而数据块介质恢复(block mediarecovery)指数据文件中的个别数据块出现错误时进行的特

28、殊恢复操作。无论进行哪种恢复,首先都需要使用备份复原数据。 Block Media Recovery本节包含以下主题: 完全恢复 不完全恢复 数据文件介质恢复 数据块介质恢复15.2.1.1 完全恢复完全恢复(complete recovery)包括两个步骤:首先使用数据库,表空间或数据文件(datafile)的备份进行复原,再使用重做数据(redo data)或增量备份(incremental backup)将数据更新到当前时间点。之所以称这样的恢复为完全恢复,是因为 Oracle 将使用归档及联机重做日志(archived and online log)中的所有重做信息进行恢复,即恢复到当

29、前时间点。通常,当出现介质故障(media failure)导致数据文件或控制文件(control file)损坏时,需要用户进行介质恢复。用户可以对数据库,表空间,数据文件执行完全恢复。用户对整个数据库进行完全恢复时必须满足以下条件: 挂载(mount)数据库 确保所有需要被恢复的数据文件处于联机(online)状态 复原数据库或需要恢复的数据文件 应用联机重做日志或/与归档重做日志用户对表空间及数据文件进行完全恢复时必须满足以下条件: 如果数据库处于打开状态,应将需要恢复的表空间或数据文件置为脱机(offline)状态 复原需要恢复的数据文件 应用联机重做日志或/与归档重做日志15.2.1

30、.2 不完全恢复不完全恢复(incomplete recovery),也被称为按时间点恢复(point-in-timerecovery),指没有将数据库恢复到当前时间点的恢复。换句话说,用户没有将最近一次备份之后产生的所有重做日志应用到复原的数据库上。用户通常在下列情况出现时对数据库进行不完全恢复: 介质故障(media failure)导致部分或全部联机重做日志(online redolog)损坏。 用户操作失误(user error)导致数据丢失,例如,用户由于疏忽而移除了表。 由于归档重做日志(archived redo log)丢失而无法进行完全恢复(complete recovery)。 当前控制文件(control file)丢失,必须使用备份的控制文件打开(open)数据库。执行不完全介质恢复(incomplete media recovery)时,用户需要使用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1