您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 第15章 Oracle11g中文教程_备份与恢复
第15章备份与恢复任何数据库在长期使用过程中,都会存在一定的安全隐患,例如,由于数据库的物理结构被破坏,或由于机器硬件故障而遭到破坏。对于数据库管理员而言,这不能仅寄希望于计算机操作系统的安全运行,而要建立一整套的数据库备份与恢复机制。当任何人为的或自然灾难一旦出现,导致数据库崩溃、物理介质损坏等故障时,管理员就可以及时恢复系统中重要的数据,尽可能地避免数据损失,使用数据库正常运行。1本章知识要点:Oracle数据库备份概述备份原则备份和恢复策略恢复管理器RMANRMAN备份RMAN进行完全数据库恢复RMAN进行各种不完全数据库恢复维护RMAN215.1备份与恢复概述丢失数据可以分为物理丢失和逻辑丢失。物理丢失是指操作系统的数据库组件丢失,例如,数据文件、控制文件、重做日志以及归档日志。引起物理数据丢失的原因可能是磁盘驱动毁损,也可能是有人意外删除了一个数据文件或者修改关键数据库文件所造成的配置变化。逻辑丢失就是例如表、索引和表记录等数据库组件的丢失。引起逻辑数据丢失的原因可能是有人意外删除了不该删除的表、应用出错或者在DELETE语句中使用不适当的WHERE子句。毫无疑问,Oracle能够实现物理数据备份与逻辑数据备份。315.2RMAN概述RMAN是随Oracle服务器软件一同安装的Oracle工具软件,它专门用于对数据库进行备份、修复和恢复操作。如果使用RMAN作为数据库备份与恢复工具,那么所有的备份和恢复操作都可以在RMAN环境下使用RMAN命令完成,这样可以减少DBA在对数据库进行备份与恢复时产生的错误,提高备份与恢复的效率。415.2.1RMAN组件RMAN是执行备份和恢复操作的客户应用程序。最简单的RMAN只包括两个组件:RMAN命令执行器与目标数据库。DBA就是在RMAN命令执行器中执行备份与恢复操作,然后由RMAN命令执行器对目标数据库进行相应的操作。5介质管理子系统磁带驱动器备用数据库恢复目录数据库目标数据库恢复目录RMAN命令执行器控制文件15.2.2RMAN通道RMAN具有一套配置参数,这类似于操作系统中的环境变量。这些默认配置将被自动应用于所有的RMAN会话,通过SHOWALL命令可以查看当前所有的默认配置。DBA可以根据自己的需求,使用CONFIGURE命令对RMAN进行配置。与此相反,如果要将某项配置设置为默认值,则可以在CONFIGURE命令中指定CLEAR关键字。6磁盘目标数据库磁盘介质服务器进程服务器进程通道ch1通道ch2恢复管理器15.2.3RMAN命令RMAN的操作命令非常简单,也无特定的技巧,只需要理解各个命令的含义,就可以灵活使用。在本节中,将介绍一些RMAN中的基本命令,以及如何利用这些基本命令来完成各种操作。715.3使用RMAN备份数据库使用RMAN备份为数据库管理员提供了更灵活的备份选项。在使用RMAN进行备份时,DBA可以根据需要进行完全备份(FullBackup)与增量备份(IncrementalBackup)、联机备份和脱机备份。815.3.1RMAN备份策略RMAN可以进行的两种类型的备份,即完全备份(FullBackup)和增量备份(IncrementalBackup)。在进行完全备份时,RMAN会将数据文件中除空白的数据块之外,所有的数据块都复制到备份集中。需要注意,在RMAN中可以对数据文件进行完全备份或者增量备份,但是对控制文件和日志文件只能进行完全备份。915.3.2使用RMAN备份数据库文件和归档日志当数据库打开时,可以使用RMANBACKUP命令备份如下对象:数据库表空间数据文件归档重做日志控制文件备份集1015.3.3多重备份为了避免灾难、介质破坏或者人为操作失误所带来的损失,可以维护备份的多个复件。在RMAN中可以通过如下几种命令形式对对数据库进行多重备份:在RMAN中执行BACKUP命令时使用COPIES参数指定多重备份。在RUN命令块中使用SETBACKUPCOPIES命令设置多重备份。通过CONFIGURE…BACKUPCOPIES命令配置自动通道为多重备份。1115.3.4BACKUP增量备份在RMAN中可以通过增量备份的方式对整个数据库、单独的表空间或单独的数据文件进行备份。如果数据库运行在归档模式下时,即可以在数据库关闭状态下进行增量备份,也可以在数据库打开关状态下进行增量备份。而当数据库运行在非归档模式下,则只能在关闭数据库后进行增量备份,因为增量备份需要使用SCN来识别已经更改的数据块。1215.3.5镜像复制在RMAN中还可以使用COPY命令创建数据文件的镜像准确副本,COPY命令可以处理数据文件、归档重做日志文件和控制文件副本。当在RMAN中使用COPY命令创建文件的镜像副本时,它将复制所有数据块,包括空闲数据块。这与使用操作系统命令复制文件相同,不过RMAN会检查创建的镜像副本是否正确。1315.4RMAN完全恢复RMAN作为一个管理备份和恢复的Oracle实用程序,在使用它对数据库执行备份后,如果数据库发生故障,则可以通过RMAN使用备份对数据库进行恢复。在使用RMAN进行居恢复时,它可以自动确定最合适的一组备份文件,并使用该备份文件对数据库进行恢复。1415.4.1RMAN恢复机制RMAN完全恢复是指当数据文件出现介质故障后,通过RMAN使用备份信息将数据文件恢复到失败点。15备份数据文件1SCN=200数据文件2SCN=200数据文件3SCN=200数据文件1SCN=200数据文件2SCN=200数据文件3SCN=100数据文件1SCN=200数据文件2SCN=200数据文件3SCN=200数据文件1SCN=200数据文件2SCN=200数据文件3SCN=200归档日志修复数据文件应用归档重做日志恢复数据被损坏的数据文件修复后的数据文件恢复后的数据文件事务恢复回退记录15.4.2恢复处于NOARCHIVELOG模式的数据库当数据库处理NOARCHIVELOG模式时,如果出现介质故障,则在最后一次备份之后对数据库所做的任何操作都将丢失。通过RMAN执行恢复时,只需要执行RESTORE命令将数据库文件修复到正确的位置,然后就可以打开数据库。也就是说,对于处于NOARCHIVELOG模式下的数据库,管理员不需要执行RECOVER命令。1615.4.3恢复处于ARCHIVELOG模式的数据库完全恢复处于ARCHIVELOG模式的数据库,与恢复NOARCHIVELOG模式的数据库相比而言,基本的区别恢复处于ARCHIVELOG模式的数据库时,管理员还需要使用将归档重做日志文件的内容将应用到数据文件上。在恢复过程中,RMAN会自动确定恢复数据库所需要的归档重做日志文件。1715.5RMAN不完全恢复如果需要将数据库恢复到引入错误之前的某个状态时,DBA就可以执行不完全恢复。完全恢复ARCHIVELOG模式数据库时,对于还没有更新到数据文件和控制文件的任何事务,RMAN会将全部的归档日志或联机日志全部应用到数据库。而在不完全恢复过程中,DBA决定了这个更新过程的终止时刻。1815.5.1基于时间的不完全恢复对于基于时间的不完全恢复,由DBA指定存在问题的事务时间。这也意味着如果知道存在问题的事务的确切发生时间时,执行基于时间的不完全恢复是非常合适的。例如,假设用户在上午9:30将大量的数据库加载到了一个错误的表中,如果没有一种合适的方法从表中删除这些数据,那么DBA可以执行基于时间的恢复,数据库恢复到上午9:29时的状态。当然,这些工作是基于用户知道将事务提交到数据库的确切时间。1915.5.2基于撤销的不完全恢复而基于撤销的不完全恢复,则是由DBA指定用来终止恢复过程的日志文件序列号。当恢复过程需要将特定的重做日志文件中包含的事务更新到数据库之前终止时,可以执行基于撤销的不完全恢复。因为所指定的重做日志文件的全部内容以及随后的任何重做日志的内容都将丢失,所以这种方法通常会导致大量的数据丢失。2015.5.3基于更改的不完全恢复对于基于更改的不完全恢复,则是以存在问题的事务的SCN号来终止恢复过程,在恢复数据库之后,将包含低于指定SCN号的所有事务。在RMAN中执行基于更改的不完全恢复时,可以使用SETUNTILSCN命令来指定恢复过程的终止SCN号。2115.6维护RMANRMAN在恢复目录或控制文件中存储了关于目标数据库的备份与恢复信息等数据,正是通过这些数据,RMAN才会在恢复数据库时选择最合适的备份副本。但是,RMAN记录的大量信息有一个缺点,即当一个备份集不再可用时,与该备份集相关的数据仍然会包含在恢复目录中,这时就需要对恢复目录进行维护。管理维护RMAN主要包括:交叉验证备份、删除备份、删除备份引用、添加备份信息、查看备份信息和设置RMAN备份策略。2215.6.1交叉验证备份CROSESSCHECK在使用RMAN创建数据库备份后,用户可能无意通过操作系统物理地删除了备份文件,这时RMAN的资料档案库中仍然会保留与这些文件相关的信息。为了验证RMAN引用的备份集和镜像副本中包含的物理文件是否可用,可以使用CROSSCHECK命令进行交叉验证。2315.6.2添加操作系统备份如果用户已经通过操作系统创建了数据库文件的备份,则可以通过RMAN提供的CATALOG命令将备份文件的信息添加到RMAN的资料档案库。2415.6.3查看备份信息有两种方式查看备份信息,一种是使用LIST命令以列表的形式显示存储在RMAN资料档案库中的备份集、备份文件的状态信息;另一种是通过REPORT命令以报告的形式显示数据库中备份的对象,包括数据库、表空间、数据文件等。2515.6.4定义保留备份的策略为了简化对RMAN的管理,可以为RMAN设置备份保留策略,这样RMAN会自动判断哪些备份集或镜像副本文件不必再保留,这些备份文件将会被标记为“废弃(OBSOLETE)”。通过REPORTOBSOLETE命令可以查看当前处于废弃状态的备份文件,或者通过DELETEOBSOLETE命令删除这些废弃的备份。充分利用保留备份策略可以消除一些管理难题,这样就不必在每次执行维护操作时,都需要确定应该从资料档案库中删除哪些引用。26
本文标题:第15章 Oracle11g中文教程_备份与恢复
链接地址:https://www.777doc.com/doc-3844424 .html