您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 深入浅出oracle_bak
深入浅出爱数Oracle数据库备份和恢复爱数软件通过和Oracle公司签订的OraclePartner合作协议,在Oracle公司的协助下通过和Oracle顺利将Oracle备份与恢复集成在AnyLink执行引擎。Oracle备份与恢复采用Oracle内置的RMAN技术,通过MediaManagementLibrary(MML)实现Oracle数据库的热备份和恢复。备份与恢复Oracle的原理在使用爱数备份软件备份/恢复Oracle前,应当理解Oracle中一些常用的备份与恢复概念。Oracle中的备份通常分为两种类型:逻辑备份和物理备份。下面将简要介绍逻辑备份和恢复,然后重点介绍Oracle物理备份和恢复。逻辑备份与恢复Oracle提供的exp和imp实用程序可以处理Oracle数据库的逻辑备份与恢复。Oracleexp实用程序用于逻辑备份,而imp实用程序则负责恢复这些逻辑备份。对于逻辑备份来说,时间点恢复是不可能的。逻辑备份通常不被用作产品数据库备份与恢复计划的部分,因此不讨论逻辑备份问题。Oracle物理备份与恢复爱数备份软件调用Oracle的RMAN接口来进行物理备份。我们将深入探讨RMAN,在这之前,先看看手工进行Oracle数据库的物理备份与恢复有何要求。RMAN可以将我们从繁重的备份和恢复工作中解脱出来,但是它们应用的某些原理是相同的。了解手工备份和恢复的基础知识可以帮助理解爱数备份软件的工作方式,并有助于将其与以前的Oracle备份方法进行比较。在Oracle中有ARCHIVELOG模式和NOARCHIVELOG模式,在这两种模式下,Oracle都可以执行脱机备份。此外,如果数据库处于ARCHIVELOG模式,那么Oracle既可以执行脱机备份,也可以执行联机备份。下面将介绍使用RMAN执行这些备份操作的细节。上海爱数软件有限公司www.eisoo.comFAX:(86)021-640159231NOARCHIVELOG模式下的物理备份在Oracle数据库中的NOARCHIVELOG模式下,这种数据库操作模式只在数据库关闭时支持数据库备份。此外,NOARCHIVELOG模式下数据库的完全恢复只能恢复到备份的时间点。按照下面的步骤可以在NOARCHIVELOG模式中执行数据库的手工备份(需要注意的是,如果使用RMAN,这些步骤会有所不同):1)完全关闭数据库。2)备份所有数据库数据文件,控制文件和联机重做日志。3)重新启动数据库。ARCHIVELOG模式下的物理备份如果在ARCHIVELOG模式下运行数据库,既可以在数据库运行时也可以在数据库关闭时执行数据库的完全备份。即使是在数据库关闭时执行备份,也要使用下面稍有不同的冷备份步骤:1)完全关闭数据库。2)备份所有数据库数据文件。3)重新启动数据库。4)使用altersystemswitchlogfile命令强制执行一个联机重做日志切换。一旦归档了联机重做日志,那么就备份所有归档的重做日志。5)使用alterdatabasebackupcontrolfiletotrace命令和alterdatabasebackupcontrolfileto'filename'命令创建控制文件的一个备份。当然,在数据库处于ARCHIVELOG模式时,有可能想完成数据库的联机备份(热备份)。数据库处于ARCHIVELOG模式时,Oracle允许在数据库打开和运行的同时备份每个单独的表空间及其数据文件,甚至还可以在不同的时刻备份选择的数据库部分。使用下面的步骤可以执行表空间的一个联机备份:1)使用altertablespacebeginbackup命令将需要备份的表空间和数据文件置入联机备份模式。2)备份与刚被置入热备份模式的表空间相关联的数据文件(可以选择备份指定的数据文件)。3)对于在步骤(1)中被置入联机备份模式的每个表空间来说,都要执行altertablespaceendbackup命令将其从热备份模式中取出。上海爱数软件有限公司www.eisoo.comFAX:(86)021-6401592324)使用altersystemswitchlogfile命令强制执行一个联机重做日志切换。5)一旦完成了日志切换并归档了当前的联机重做日志,就备份所有归档的重做日志。需要注意的是,步骤(5)中的日志切换和归档的重做日志备份是必需的,这是因为恢复操作必须应用在备份期间生成的所有重做。Oracle在联机备份期间不断地物理更新数据文件(除了数据文件头)时,在备份操作期间存在数据块分离的可能性,这种可能性会导致备份的数据文件不一致。此外,数据库数据文件可能在备份之后,但是在整个备份进程结束之前被写入,由于备份中的每个数据文件当前可能会有不同的SCN,因此数据文件备份映像不一致,所以拥有在备份期间生成的重做,以应用于恢复是非常重要的。另外还要注意的是执行altertablespacebeginbackup命令时,Oracle会在联机重做日志中记录数据库数据文件的整块更改,而不是仅仅记录更改矢量,这意味着联机备份期间总的重做生成会大幅增加,这样在热备份进程期间会影响所需的磁盘空间和CPU开销。RMAN提供了不将表空间置入热备份模式而执行热备份的功能,这样就避免还要使用I/O操作。需要注意的是在ARCHIVELOG模式的两种备份中(联机备份和脱机备份),我们并不备份联机重做日志,而是备份数据库的归档的重做日志。您可能想知道不恢复联机重做日志的原因。在ARCHIVELOG模式的恢复期间,联机重做日志中可能有最新的重做,这样当前联机重做日志将被用于完全的时间点恢复。由于这个原因,我们不在ARCHIVELOG模式的数据库恢复期间重写联机重做日志。如果数据库丢失了联机重做日志,就必须使用所有归档的重做日志来执行时间点恢复。出于与不会备份联机重做日志的相同原因,我们也不会备份控制文件。因为当前控制文件含有最新的联机重做日志信息和归档的重做日志信息,所以我们不想用这些对象先前的信息来重写最新的信息。如果丢失了所有控制文件,可以使用备份控制文件来恢复数据库。最后来看看归档的重做日志的辅助备份和保护归档的重做日志不丢失的其他方法。归档的重做日志直接影响将数据库恢复到故障点的能力。如果丢失了归档的重做日志并且联机重做日志组不再含有该日志序列号,数据库就只能恢复到丢失的归档的重做日志序列号之前的日志序列号。NOARCHIVELOG模式下的恢复如果需要在NOARCHIVELOG模式下恢复一个备份,可以简单地恢复所有数据库数据文件,控制文件和联机重做日志,然后再启动数据库。当然,完整的恢复可能还需要恢复上海爱数软件有限公司www.eisoo.comFAX:(86)021-640159233OracleRDBMS软件,参数文件和其他所需的Oracle项,本章的最后部分将介绍这些内容。需要注意的是NOARCHIVELOG模式下的恢复只能恢复至最后备份的时间点。如果在NOARCHIVELOG模式中恢复一个数据库备份,我们只能恢复该备份时间点的数据库。如果数据库处于NOARCHIVELOG模式,就不能恢复备份时间点后的任何更改。ARCHIVELOG模式下的恢复使用联机备份或脱机备份都可以备份ARCHIVELOG模式下的数据库。与NOARCDHIVELOG模式相比,可以在ARCHIVELOG模式下恢复故障点发生时的数据库。此外,我们可以选择恢复指定时间点的数据库,还可以恢复基于更改号的指定时间点的数据库。ARCHIVELOG模式恢复也允许执行对数据文件,表空间或整个数据库的特殊恢复。此外,我们还可以执行时间点恢复或指定SCN的恢复。ARCHIVELOG模式下的完全恢复假定数据库故障至少没有损害当前每个联机重做日志组中的一个成员和没有备份的任何归档的重做日志,我们可以在ARCHIVELOG模式下恢复故障点的数据库。如果丢失了归档的重做日志或联机重做日志,就需要执行某些形式的时间点恢复,后面将讨论时间点恢复问题。此外,如果丢失了当前控制文件的所有副本,就需要恢复控制文件并执行不完全恢复。执行下面的步骤可以在ARCHIVELOG模式下从数据库的一个备份中执行数据库的完全恢复:1)从备份中还原所有数据库数据文件。2)还原所有备份的归档的重做日志。3)加载数据库(startupmount)。4)恢复数据库(recoverdatabase)。5)Oracle提示您应用归档的重做日志中的重做。在提示符下简单地输入AUTO,Oracle会自动应用所有重做日志。6)一旦应用了所有重做日志,就可以打开恢复的数据库(alterdatabaseopen)。ARCHIVELOG模式下的表空间恢复和数据文件恢复在数据库加载或数据库打开时可以执行表空间恢复和数据文件恢复。按照下面的步骤可上海爱数软件有限公司www.eisoo.comFAX:(86)021-640159234以在Oracle数据库打开时执行一个表空间恢复:1)使表空间脱机(altertablespaceoffline)。2)还原与要恢复的表空间相关联的所有数据文件。3)联机恢复表空间(recovertablespace)。4)一旦完成了恢复,使表空间联机(altertablespaceonline)。正如可以恢复表空间一样,我们还可以恢复指定的数据文件。优点是可以保持表空间联机。在备份进程期间仅有驻留在脱机数据文件中的数据不可用,数据库的其他部分在恢复期间都是可用的。数据文件恢复的基本步骤为:1)使数据文件脱机(alterdatabasedatafile'file_name'offline)。2)还原所有要恢复的数据文件。3)联机恢复数据文件(recoverdatafile)。4)一旦完成了恢复,就使数据文件联机(alterdatabasedatafile'file_name'online)。ARCHIVELOG模式下的时间点恢复ARCHIVELOG模式的另一个优点是可以恢复给定时间的数据库,而不是恢复发生故障点时的数据库。在创建克隆数据库时(可能出于测试和报告的原因而创建克隆数据库),或者在主要的应用程序错误和用户错误情况中,经常会用到上述功能。我们既可以恢复指定时间点的数据库,也可以恢复指定数据库SCN的数据库。如果要恢复某个时间点的表空间,我们需要恢复相同时间点的整个数据库(除非执行表空间的时间点恢复,这是另一种恢复方式)。例如,假设您有一个账目管理数据库,大部分数据位于ACCT表空间中,并且您打算恢复两天前的数据库。因为其余的表空间(例如SYSTEM,TEMP和RBS表空间)仍然与当前时间点一致,所以您不能只是还原ACCT表空间并将其恢复到两天前的时间点,否则由于数据库的不一致,数据库的打开将失败。执行下面的步骤可以恢复某一时间点的数据库:1)从一个备份中恢复所有数据库数据文件,这个备份在要恢复数据库的时间点之前结束。2)使用如recoverdatabaseuntiltime'01-01-200221:00:00'的命令并且应用所需的重做日志,恢复选定时间点的数据库。3)一旦完成恢复,就打开数据库。我们也可以执行下面的步骤,选择使用SCN号恢复数据库:上海爱数软件有限公司www.eisoo.comFAX:(86)021-6401592351)从一个备份中恢复所有数据库数据文件,这个备份在要恢复数据库的时间点之前结束。2)使用如recoverdatabaseuntilchange'221122'的命令并且应用所需的重做日志,恢复选定系统更改号(SCN)的数据库。3)一旦完成恢复,打开数据库。进一步来说,我们可以应用数据库的更改并在应用指定的归档的重做日志之后手工取消进程:1)从一个备份中恢复所有数据库数据文件,这个备份在要恢复数据库的时间点之前结束。2)使用recoverdatabaseuntilcancel命令并且应用所需的重做日志,恢复选定时间点的数据库。应用了最后一个归档的重做日志后,您可以简单地执行cancel命令来结束日志应用。3)一旦完成恢复,打开数据库。执行
本文标题:深入浅出oracle_bak
链接地址:https://www.777doc.com/doc-14154 .html