




免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.1 备份与恢复Oracle的原理在使用CommVault备份/恢复Oracle前,应当理解Oracle中一些常用的备份与恢复概念。Oracle中的备份通常分为两种类型:逻辑备份和物理备份。下面将简要介绍逻辑备份和恢复,然后重点介绍Oracle物理备份和恢复。1.1.1 逻辑备份与恢复Oracle提供的exp和imp实用程序可以处理Oracle数据库的逻辑备份与恢复。Oracle exp实用程序用于逻辑备份,而imp实用程序则负责恢复这些逻辑备份。对于逻辑备份来说,时间点恢复是不可能的。逻辑备份通常不被用作产品数据库备份与恢复计划的部分,因此不讨论逻辑备份问题。1.1.2 Oracle物理备份与恢复CommVault调用Oracle的RMAN接口来进行物理备份。我们将深入探讨RMAN,在这之前,先看看手工进行Oracle数据库的物理备份与恢复有何要求。RMAN可以将我们从繁重的备份和恢复工作中解脱出来,但是它们应用的某些原理是相同的。了解手工备份和恢复的基础知识可以帮助理解CommVault的工作方式,并有助于将其与以前的Oracle备份方法进行比较。在Oracle中有ARCHIVELOG模式和NOARCHIVELOG模式,在这两种模式下,Oracle都可以执行脱机备份。此外,如果数据库处于ARCHIVELOG模式,那么Oracle既可以执行脱机备份,也可以执行联机备份。下面将介绍使用RMAN执行这些备份操作的细节。1.1.2.1 NOARCHIVELOG模式下的物理备份在Oracle数据库中的NOARCHIVELOG模式下,这种数据库操作模式只在数据库关闭时支持数据库备份。此外,NOARCHIVELOG模式下数据库的完全恢复只能恢复到备份的时间点。按照下面的步骤可以在NOARCHIVELOG模式中执行数据库的手工备份(需要注意的是,如果使用RMAN,这些步骤会有所不同):1) 完全关闭数据库。2) 备份所有数据库数据文件,控制文件和联机重做日志。3) 重新启动数据库。1.1.2.2 ARCHIVELOG模式下的物理备份如果在ARCHIVELOG模式下运行数据库,既可以在数据库运行时也可以在数据库关闭时执行数据库的完全备份。即使是在数据库关闭时执行备份,也要使用下面稍有不同的冷备份步骤:1) 完全关闭数据库。2) 备份所有数据库数据文件。3) 重新启动数据库。4) 使用alter system switch logfile命令强制执行一个联机重做日志切换。一旦归档了联机重做日志,那么就备份所有归档的重做日志。5) 使用alter database backup control file to trace命令和alter database backup controlfile to filename命令创建控制文件的一个备份。当然,在数据库处于ARCHIVELOG模式时,有可能想完成数据库的联机备份(热备份)。数据库处于ARCHIVELOG模式时,Oracle允许在数据库打开和运行的同时备份每个单独的表空间及其数据文件,甚至还可以在不同的时刻备份选择的数据库部分。使用下面的步骤可以执行表空间的一个联机备份:1) 使用alter tablespace begin backup命令将需要备份的表空间和数据文件置入联机备份模式。2) 备份与刚被置入热备份模式的表空间相关联的数据文件(可以选择备份指定的数据文件)。3) 对于在步骤(1)中被置入联机备份模式的每个表空间来说,都要执行alter tablespace end backup命令将其从热备份模式中取出。4) 使用alter system switch logfile命令强制执行一个联机重做日志切换。5) 一旦完成了日志切换并归档了当前的联机重做日志,就备份所有归档的重做日志。需要注意的是,步骤(5)中的日志切换和归档的重做日志备份是必需的,这是因为恢复操作必须应用在备份期间生成的所有重做。Oracle在联机备份期间不断地物理更新数据文件(除了数据文件头)时,在备份操作期间存在数据块分离的可能性,这种可能性会导致备份的数据文件不一致。此外,数据库数据文件可能在备份之后,但是在整个备份进程结束之前被写入,由于备份中的每个数据文件当前可能会有不同的SCN,因此数据文件备份映像不一致,所以拥有在备份期间生成的重做,以应用于恢复是非常重要的。另外还要注意的是执行alter tablespace begin backup命令时,Oracle会在联机重做日志中记录数据库数据文件的整块更改,而不是仅仅记录更改矢量,这意味着联机备份期间总的重做生成会大幅增加,这样在热备份进程期间会影响所需的磁盘空间和CPU开销。RMAN提供了不将表空间置入热备份模式而执行热备份的功能,这样就避免还要使用I/O操作。需要注意的是在ARCHIVELOG模式的两种备份中(联机备份和脱机备份),我们并不备份联机重做日志,而是备份数据库的归档的重做日志。您可能想知道不恢复联机重做日志的原因。在ARCHIVELOG模式的恢复期间,联机重做日志中可能有最新的重做,这样当前联机重做日志将被用于完全的时间点恢复。由于这个原因,我们不在ARCHIVELOG模式的数据库恢复期间重写联机重做日志。如果数据库丢失了联机重做日志,就必须使用所有归档的重做日志来执行时间点恢复。出于与不会备份联机重做日志的相同原因,我们也不会备份控制文件。因为当前控制文件含有最新的联机重做日志信息和归档的重做日志信息,所以我们不想用这些对象先前的信息来重写最新的信息。如果丢失了所有控制文件,可以使用备份控制文件来恢复数据库。最后来看看归档的重做日志的辅助备份和保护归档的重做日志不丢失的其他方法。归档的重做日志直接影响将数据库恢复到故障点的能力。如果丢失了归档的重做日志并且联机重做日志组不再含有该日志序列号,数据库就只能恢复到丢失的归档的重做日志序列号之前的日志序列号。1.1.3 NOARCHIVELOG模式下的恢复如果需要在NOARCHIVELOG模式下恢复一个备份,可以简单地恢复所有数据库数据文件,控制文件和联机重做日志,然后再启动数据库。当然,完整的恢复可能还需要恢复Oracle RDBMS软件,参数文件和其他所需的Oracle项,本章的最后部分将介绍这些内容。需要注意的是NOARCHIVELOG模式下的恢复只能恢复至最后备份的时间点。如果在NOARCHIVELOG模式中恢复一个数据库备份,我们只能恢复该备份时间点的数据库。如果数据库处于NOARCHIVELOG模式,就不能恢复备份时间点后的任何更改。1.1.4 ARCHIVELOG模式下的恢复使用联机备份或脱机备份都可以备份ARCHIVELOG模式下的数据库。与NOARCDHIVELOG模式相比,可以在ARCHIVELOG模式下恢复故障点发生时的数据库。此外,我们可以选择恢复指定时间点的数据库,还可以恢复基于更改号的指定时间点的数据库。ARCHIVELOG模式恢复也允许执行对数据文件,表空间或整个数据库的特殊恢复。此外,我们还可以执行时间点恢复或指定SCN的恢复。1.1.4.1 ARCHIVELOG模式下的完全恢复假定数据库故障至少没有损害当前每个联机重做日志组中的一个成员和没有备份的任何归档的重做日志,我们可以在ARCHIVELOG模式下恢复故障点的数据库。如果丢失了归档的重做日志或联机重做日志,就需要执行某些形式的时间点恢复,后面将讨论时间点恢复问题。此外,如果丢失了当前控制文件的所有副本,就需要恢复控制文件并执行不完全恢复。执行下面的步骤可以在ARCHIVELOG模式下从数据库的一个备份中执行数据库的完全恢复:1) 从备份中还原所有数据库数据文件。2) 还原所有备份的归档的重做日志。3) 加载数据库(startup mount)。4) 恢复数据库(recover database)。5) Oracle提示您应用归档的重做日志中的重做。在提示符下简单地输入AUTO,Oracle会自动应用所有重做日志。6) 一旦应用了所有重做日志,就可以打开恢复的数据库(alter database open)。1.1.4.2 ARCHIVELOG模式下的表空间恢复和数据文件恢复在数据库加载或数据库打开时可以执行表空间恢复和数据文件恢复。按照下面的步骤可以在Oracle数据库打开时执行一个表空间恢复:1) 使表空间脱机(alter tablespace offline)。2) 还原与要恢复的表空间相关联的所有数据文件。3) 联机恢复表空间(recover tablespace)。4) 一旦完成了恢复,使表空间联机(alter tablespace online)。正如可以恢复表空间一样,我们还可以恢复指定的数据文件。优点是可以保持表空间联机。在备份进程期间仅有驻留在脱机数据文件中的数据不可用,数据库的其他部分在恢复期间都是可用的。数据文件恢复的基本步骤为:1) 使数据文件脱机(alter database datafile file_name offline)。2) 还原所有要恢复的数据文件。3) 联机恢复数据文件(recover datafile)。4) 一旦完成了恢复,就使数据文件联机(alter database datafile file_name online)。1.1.4.3 ARCHIVELOG模式下的时间点恢复ARCHIVELOG模式的另一个优点是可以恢复给定时间的数据库,而不是恢复发生故障点时的数据库。在创建克隆数据库时(可能出于测试和报告的原因而创建克隆数据库),或者在主要的应用程序错误和用户错误情况中,经常会用到上述功能。我们既可以恢复指定时间点的数据库,也可以恢复指定数据库SCN的数据库。如果要恢复某个时间点的表空间,我们需要恢复相同时间点的整个数据库(除非执行表空间的时间点恢复,这是另一种恢复方式)。例如,假设您有一个账目管理数据库,大部分数据位于ACCT表空间中,并且您打算恢复两天前的数据库。因为其余的表空间(例如SYSTEM,TEMP和RBS表空间)仍然与当前时间点一致,所以您不能只是还原ACCT表空间并将其恢复到两天前的时间点,否则由于数据库的不一致,数据库的打开将失败。执行下面的步骤可以恢复某一时间点的数据库:1) 从一个备份中恢复所有数据库数据文件,这个备份在要恢复数据库的时间点之前结束。2) 使用如recover database until time 01-01-2002 21:00:00的命令并且应用所需的重做日志,恢复选定时间点的数据库。3) 一旦完成恢复,就打开数据库。我们也可以执行下面的步骤,选择使用SCN号恢复数据库:1) 从一个备份中恢复所有数据库数据文件,这个备份在要恢复数据库的时间点之前结束。2) 使用如recover database until change 221122的命令并且应用所需的重做日志,恢复选定系统更改号(SCN)的数据库。3) 一旦完成恢复,打开数据库。进一步来说,我们可以应用数据库的更改并在应用指定的归档的重做日志之后手工取消进程:1) 从一个备份中恢复所有数据库数据文件,这个备份在要恢复数据库的时间点之前结束。2) 使用recover database until cancel命令并且应用所需的重做日志,恢复选定时间点的数据库。应用了最后一个归档的重做日志后,您可以简单地执行cancel命令来结束日志应用。3) 一旦完成恢复,打开数据库。执行时间点恢复(或者有关这一问题的任何恢复)时一定要牢记数据库一致性概念。如果要恢复给定时间点的数据库,就必须使用在这个时间点之前结束的备份来恢复数据库,还必须利用所有归档的重做日志(可能还需要剩余的联机重做日志)来完成恢复。1.2 Oracle备份的其他知识我们已经简要介绍了Oracle备份和恢复的概要,最后一个问题将讨论需要备份的项。由于需要备份的项极少被更改,所以这些项通常不会被频繁地备份。需要备份的项包括:l Oracle RDBMS软件(Oracle主目录和Oracle目录清单)l 网络参数文件(names。ora,sqlnet。ora和tnsnames。ora)l 数据库参数文件(init。ora,INI文件等)。需要注意的是9iR2版本中的RMAN具有允许一起备份数据库参数文件和控制文件的新功能。l 系统oratab文件和其他与Oracle相关的系统文件(例如用于Oracle的所有rc启动脚本)作为备份和恢复进程的一部分,定期地备份这些项相当重要。由于RMAN也不会备份这些项,所以不管执行手工备份还是RMAN备份,我们都需要计划备份上述的这些项。可以看到,Oracle数据库的备份和恢复进程包括许多步骤。由于DBA每次都要确认正确执行了备份,所以他们通常会编写一些脚本来实现这个功能。这样会存在一些问题。首先,脚本会中断。当脚本中断时,如果编写该脚本的DBA迁移到一个不易联系的地方,谁可以维护这个脚本呢 其次,我们必须编写脚本来跟踪添加或删除数据文件,或者必须从所需的脚本中手工添加或删除数据文件。CommVault是个完整的备份和恢复产品,它将简化备份和恢复进程的复杂性。另外,使用CommVault可以得到其他备份和恢复进程无法提供的功能。虽然本章没有详细介绍RMAN,但是简要介绍了一些重要的RMAN基础知识,CommVault对Oracle的备份/恢复就是调用了RMAN的接口来完成的,所不同的是,用户不再需要使用RMAN复杂的命令,只要通过GUI界面就能完成,这就大大减轻了操作的复杂程度。另外CommVault对RMAN输出的数据进行了分类索引,这就方便了恢复时对数据的查找。 1.3 CommVault调用RMAN备份OracleOracle RMAN备份的前提:数据库必须运行在ARCHIVELOG模式下。CommVault的Oracle备份是一个全图象化的操作,操作十分方便简单,不需要传统的大量脚本工作,基本步骤如下:1创建Oracle备份实例2选择备份内容(全库或单个表空间)及存储策略注:在备份NoCatalog数据库时,需要在备份后处理控制文件备份脚本,以保证在控制文件被破坏时也能恢复数据库。通过脚本备份到本地的控制文件,需要通过文件备份的方式将其备份到存储设备中,所以要添加一个文件备份集:3建好备份实例后,手动发起备份操作或按计划进行备份在作业控制器窗口可看到备份进度,或双击作业来查看详细信息及RMAN LOG。4当Oracle数据库备份完成后,CV可自动发起控制文件的备份操作,使两者时间点保持一直。1.4 CommVault调用RMAN恢复OracleCommVault能利用图形界面调用RMAN恢复Oracle数据库,并能进行异机恢复,具体恢复操作如下:1将控制文件恢复至目标主机上选中要恢复的文件。指定目标计算机。控制文件恢复完成。在目标服务器上将恢复的控制文件重命名成SPFILESID.ORA文件内的标准名字,并复制3份。如下图所示:2恢复数据库文件,在执行恢复操作前需先将数据库置为MOUNT状态:在CV控制台发起恢复操作:选择目标计算机及恢复内容在作业控制器窗口可看到恢复进度,或双击作业来查看详细信息及RMAN LOG。在目标计算机的SQLPLUS内运行:recover database using backup controlfile until cancel;”,在随后的”指定日志“提示内输入”CANCEL“然后输入“alter database open resetlogs;“命令,重建redolog并打开数据库。 至此,oracle异机恢复完成。数据库在目标计算机上已启动并打开。 RMAN方式的Oracle异机恢复测试完成。1.5 Oracle Export方式备份作为Oracle的另一个备份方式Export,它可以将Oracle数据库进行逻辑关系的备份,即可以将与某用户相关的表项进行统一备份,这对于大数据量用户的颗粒恢复提供了灵活的备份方法。在CommVault备份及恢复软件中能嵌入Export的备份,具体方法如小:1 编写Export备份脚本按用户的需要编写Export脚本。Export脚本范例:Import脚本范例:2 创建文件备份策略把Export脚本嵌入备份策略中,在备份任务发起前自动执行Export脚本,将Export脚本导出的数据文件以文件形式备份,使整个备份过程是自动的,无需人工干预。附件:备份恢复SQL SERVER原理在使用CommVault备份/恢复SQL Server前,应当理解SQL Server中一些常用的备份/恢复概念。1.6 SQL SERVER事务日志和自动恢复SQL Server交易日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中。对于任何每一个交易过程,交易日志都有非常全面的记录,根据这些记录可以将数据文件恢复成交易前的状态。从交易动作开始,交易日志就处于记录状态,交易过程中对数据库的任何操作都在记录范围,直到用户点击提交或后退后才结束记录。每个数据库都拥有至少一个交易日志以及一个数据文件。Microsoft SQL Server在每次启动时通过检查系统中的每个数据库来执行自动恢复。它首先检查master数据库,然后启动线程以覆盖系统中的所有数据库。对于每一个SQL Server数据库,自动修复机制将检查事务日志。如果事务日志中包含任何未完成的事务,则该事务后滚。然后自动修复机制再检查事务日志以找出那些还没有写入数据库的未完成事务。如果找到,则执行该事务,前滚。SQL Server事务日志包含了Oracle后滚段和Oracle在线恢复日志两者总的功能。每个数据库都有自己的事务日志,该日志记录了数据库发生的任何改变,并且日志由数据库的所有用户共享。当一个事务开始并且发生一次数据修改,则一个BEGIN TRANSACTION事件(同modification事件一样)被记录在日志中。在自动恢复的过程中使用该事件来确定事务的起始点。每收到一个数据修改事件,改变都被记入事务日志中,优先写入其数据库中。1.7 备份SQL Server数据库Microsoft SQL Server提供了几种备份数据的选择:l 完全数据库备份(Full Backup)l 差分备份(Differential backup):在经过完全的数据库备份以后,定期使用BACKUP DATABASE WITH DIFFERENTIAL语句来备份改变过的数据和索引页。l 事务日志备份:备份过程会将事务日志中不再需要的部分截除,Microsoft SQL Server中的事务日志有一个独立的文件组。该文件组仅在备份或者被删除以后才被重复填充。SQL Server中的缺省设置是事务日志自动增长,直到它用完了所有的可用空间或者达到其设置的最大空间。当事务日志过满时,它会生成一个错误并且阻止任何的数据修改,直到该日志被备份或者被删除。l 文件或者文件组备份 :SQL Server可以备份数据文件或者数据文件组。备份可以在数据库正在使用的时候进行,这样就可以使那些必须不断运行的系统进行备份。当备份应用事务日志备份和或者微分备份时,一个数据库可以按时储存在一个完全备份数据库(设备)的特定的时间点上。数据库使用备份中包含的信息恢复数据。就像你可以关掉Oracle存档器以跳过备份一样,在Microsoft SQL Server中,db_owner组中的成员可以强制事务日志在检查点发生的时候抹去目录。可以用SQL Server Enterprise Manager(删除检查点上的日志),Transact-SQL(sp_dboption存储过程)或者SQL-DMO来完成。1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 焊接材料制造工适应性考核试卷及答案
- 外贸咨询采购计划方案
- 公司线上活动策划方案案例
- 建筑方案设计的表现方法
- 春节促销活动策划方案超市
- 农村建房工程质量管理
- 美容策划活动方案编辑软件
- 驾校嘉年华活动策划方案
- 石狮心理咨询方案
- 营销方案考试题库
- 国家电投2023上半年ESG实践报告:绿色发展助力电力行业转型升级
- 污水处理自动化工程施工组织计划
- 2025年新形势下新型储能发展趋势分析报告
- 美发发型培训知识课件
- 遗体整容师测试考核试卷及答案
- 体育教育专业健美操理论考试试题及答案
- 小学道德与法治五年级上册《烟酒有危害》教学课件
- 2025年登革热防控试题(附答案)
- 霍乱培训课件下载
- 高中语文部编版必修上册第一单元检测
- 2025年软件开发工程师面试宝典及编程技能测试题目
评论
0/150
提交评论