Backup And Recovery Users Guide1备份和恢复概览.docx
《Backup And Recovery Users Guide1备份和恢复概览.docx》由会员分享,可在线阅读,更多相关《Backup And Recovery Users Guide1备份和恢复概览.docx(11页珍藏版)》请在冰豆网上搜索。
BackupAndRecoveryUsersGuide1备份和恢复概览
Oracle®DatabaseBackupandRecoveryUser'sGuide11gRelease2(11.2)PartNumberE10642-05
I备份和恢复概览
1备份和恢复介绍
1.1备份和恢复的目的
作为备份管理员,主要职责是设计、实施、管理备份和恢复的策略。
通常备份和恢复策略的目的是保护数据库防止数据丢失和在数据丢失后重构数据库。
备份管理员的任务:
⏹计划和测试对不同型失败的响应
⏹配置备份和恢复的数据库环境
⏹建立备份计划
⏹监控备份和恢复环境
⏹解决备份中出现的问题
⏹恢复丢失的数据
⏹数据保存,包括为了长期存储创建数据库拷贝
⏹数据传输,包括从一个数据库或主机向其它数据库或主机移动数据。
1.1.1数据保护
作为备份管理员就是为了保护数据而实施和监控备份。
备份是数据库数据的拷贝,可以用来重建数据。
备份可以是物理备份,也可以是逻辑备份。
物理备份是物理文件的拷贝,被用于还原和恢复数据库。
这些文件包括:
数据文件、控制文件、归档重做日志文件。
最终每一个物理备份都是文件的拷贝,用于存储数据库的信息到其它的位置,可以是磁盘,也可以是脱机存储介质(例如磁带)。
逻辑备份包含逻辑数据,例如表和存储过程。
可以使用OracleDataPump导出逻辑数据到二进制文件,以后可以将这些文件导入到数据库中。
数据泵的命令行的客户端expdp和impdp会使用DBMS_DATAPUMP和DBMS_METADATA这2个PL/SQL包。
物理备份是任何合理的备份和恢复策略的基础。
在很多情况下,逻辑备份是对物理备份的有效补充,但没有物理备份,逻辑备份不足以用于保护数据所丢失。
除非特别地指出,出现在备份和恢复文档中的术语备份就是指物理备份。
很多情况可以使数据库的正常操作被挂起或影响到数据库的I/O操作,只有下面的情况需要DBA的介入和相应的数据恢复:
介质失败、用户错误、应用程序错误。
其它的失败可能需要DBA的介入,但因为没有数据丢失,所以不需要从备份来恢复。
例如,在实例失败时,只需要重启一下实例;在数据文件满了之后,只需要分配更多的磁盘空间。
1.1.1.1介质失败
介质失败是磁盘的物理问题,造成对数据库需要的数据文件的读写失败。
任何数据库文件都有可能出现介质失败。
对于介质失败的恢复技术依赖于被影响的文件和可用的备份的类型。
对于备份和恢复的一个非常重要的方面就是开发灾难恢复策略来保护灾难性的数据丢失,例如整个数据库主机丢失。
1.1.1.2用户错误
用户错误是指因为应用程序逻辑错误或用户的手工误操作,导致数据库中的数据被错误地修改或删除。
用户错误被认为是引起数据库故障的最主要的原因。
因为用户错误而引起的数据丢失可能是局部的也可能是广泛的。
⏹局部的,从employees表删除错误的员工。
这种损坏需要外科检查和修复;
⏹大范围的,一个批处理作业删除了当前月的公司订单,此时需要猛烈的行动来避免更长的数据库停机时间。
用户的培训和小心的权限管理可防止大多数用户错误。
你的备份策略决定了当由于用户错误造成数据丢失时,你的恢复过程的优雅程度。
1.1.1.3应用错误
有时一些软件的故障可以会破坏数据块。
在物理损坏/介质损坏中,数据库根本无法识别数据块,校验无效,数据块中包含的都是0、块的头部和尾部不符。
如果这种损坏不是大量的,则可以使用块介质恢复来修复它。
1.1.2数据保存
数据保存与数据保护相关,但是为了不同的目的。
例,在每个商业季结束时,可能需要保存数据库的拷贝。
但这种备份不是灾难恢复策略的一部分。
这些备份写入的介质在备份完成之后是不可访问的。
可能需要将磁带放到防火的存储设备中,或传送一个便携的硬盘驱动器到一个测试设备。
RMAN提供了一种方便的方式来创建备份并使它从你设置的备份保留期豁免。
这种类型的备份被称为归档备份。
1.1.3数据传输
在一些情况下你需要携带数据库的备份和数据库组件,将它移动另外的位置。
⏹可以使用RMAN创建数据库的拷贝
⏹创建可以被导入到其它数据库的表空间的拷贝
⏹将整个数据库从一个平台移动到另一个平台。
这些任务并不是严格意义上的备份和恢复策略的一部分,但它们确实需要使用数据库备份,
因此这也可能包含在备份管理员的任务中。
1.2Oracle备份和恢复解决方案
当实现备份和恢复策略的时候,可以采用下面的解决方案:
⏹RMAN,它完全与数据库集成,执行一定范围内的备份和恢复策略,包括维护备份历史数据的RMANRepository。
可以通过命令行或OEM访问RMAN。
⏹用户管理的备份和恢复,在这种策略中需要混合使用操作系统命令和SQL*Plus恢复命令。
你需要决定备份和恢复的所有方面,包括何时和如何进行备份。
这2个方案都被Oracle支持并有完整的文档,但RMAN是推荐的方法。
RMAN提供了跨操作系统的通用接口,并且提供了用户管理的备份方法不提供的多种备份技术。
最值得关注的备份技术有:
⏹增量备份,增量备份只保存自上次备份后数据块的改变。
因此它提供了更紧凑的备份和更快速的恢复,也就减少了在数据文件介质恢复时应用redo的需要。
如果开启了块改变跟踪,则可以通过避免输入数据文件的全表扫描来提高性能。
使用BACKUPINCREMENT命令执行增量备份。
⏹块介质恢复,对于仅有一小部分的数据块的损坏,你可以修复数据文件而不需要使数据文件脱机而后从备份来还原它。
使用RECOVERBLOCK命令来执行块介质恢复。
⏹二进制压缩,被集成到Oracle数据库中的二进制压缩技术,可以减小备份的大小。
⏹加密备份,RMAN使用备份加密功能以加密的形式存储备份集。
为了在磁盘上创建加密的备份,数据库必须使用高级安全选项。
为了直接在磁带上创建加密备份,RMAN必须使用OracleSecureBackupSBT接口,而不需要高级安全选项。
⏹自动数据库复制,很容易地创建数据库的拷贝,支持各种存储配置,包括在ASM数据库之间的直接复制。
⏹跨平台数据转换
无论你使用RMAN还是用户管理的方法,都可以使用数据泵export工具来完成逻辑备份,以对物理备份加以补充。
后面就可以在还原和恢复操作之后,使用DataPumpImport来重建数据。
逻辑备份已经超出了备份和恢复文档的范围。
不同备份技术的特征总结
功能
RMAN
用户管理的
数据泵导出
关闭的数据库备份
需要实例被mount
打开的数据库备份
不需要使用BEGIN/ENDBACKUP语句
需要使用BEGIN/ENDBACKUP语句
需要回滚或undo段来产生一致的备份
增量备份
坏块检测
识别坏块并记录在v$DATABASE_BLOCK_CORRUPTION
在export日志中识别坏块
自动指定备份中包含的文件
建立被备份的所有文件的名字和位置
被备份的文件必须被手工地定位和复制
不适用
备份库
备份被记录在控制文件中,这是RMAN元数据的主库,此外可以将这些元数据存储在“恢复目录”中,它是在另外的数据库中的方案。
DBA必须保存它自己的备份记录
备份到介质管理器
带有介质管理器的接口。
RMAN也支持proxycopy,允许介质管理器管理磁盘和备份介质间的整个数据传输
备份到磁带是手动的或被介质管理器控制。
初始化参数文件的备份
口令和网络文件的备份
平台独立的备份语言
1.3Oracle闪回技术
Oracle闪技术补充你的备份和恢复策略。
这些功能提供了额外层次的数据保护。
尤其是你可以使用闪回的各种功能来查看数据的过去的状态,在不需要还原备份或执行时间点恢复的情况下回退数据库。
通常闪回功能相对于介质恢复更高效、破坏性更小。
1.3.1逻辑闪回功能
Oracle的大多数闪回功能都在逻辑层操作,允许你查看和操作数据库对象。
逻辑层的闪回功能不依赖于RMAN,并且无论RMAN是否为备份策略的一部分它都是可用的。
除了Oracle闪回删除,这种逻辑闪回功能依赖于undo数据。
这些undo数据是每次数据库更新产生的影响的记录,和在更新中被覆盖的值的记录。
Oralce数据库包含下面的逻辑闪回功能:
⏹闪回查询,你可以指定目标时间并对数据库执行查询,查看它们在目标时间曾经出现的结果。
从不希望的改变(例如对表的更新)恢复,可以选择一个在错误之前的目标时间并执行一个查询来获得丢失的行的数据。
⏹闪回版本查询,可以查看在指定的时间段内曾经在一个表或多个表中存在的所有的行的各个版本。
也能获取行的不同版本的元数据,包括开始和结束时间、操作和创建相应版本的事务ID。
可以使用这个功能恢复丢失的数据值,也可以审计被查询的表的改变。
⏹闪回事务查询,可以查看单个事务所做的改变,或在指定的时间段内所有事务所做的改变。
⏹闪回事务,可以反转一个事务。
Oracle数据库可以确定事务间的依赖关系,并创建一个倒退这种不希望的改变的补偿事务。
数据库会倒退到一个状态,好像这个事务和依赖于这个事务的任何事务从未发生一样。
⏹闪回表,可以恢复一张表或表的集合到过去的某个指定的时间点,而不需要使数据库的任何部分脱机。
在许多情况下,闪回表可以消除对执行更加复杂的时间点恢复的需要。
闪回表会还原表,同时会自动维护相关的属性,例如当前的索引、触发器和约束。
使用这种方式,不需要查找和还原数据库特定的属性。
⏹闪回删除,可以倒退DROPTABLE语句的影响。
闪回数据归档允许你使用一些逻辑闪回功能来访问过去的久远的数据。
闪回数据归档由一个或多个表空间或部分表空间组成。
当创建闪回数据归档时,你可以指定名称、保留期和表空间。
也可以指定默认的闪回数据归档。
数据库会在保留期过期之后自动清空历史数据。
可以对单个表打开或关闭闪回归档。
1.3.2闪回数据库
在物理层,闪回数据库提供了更加高效的数据保护方式,用于替代数据库时间点恢复(DBPITR)。
如果当前的数据文件有不希望的改变,你可以使用RMAN命令FLASHBACKDATABASE来还原数据库文件到过去的时间点。
最终的结果与DBPITR非常相似,但这种操作非常快,因为它不需要从备份数据文件,相对于介质恢复需要更少的redo信息。
闪回数据库使用闪回日志来访问数据块的过去的版本和来自于归档重做日志的一些信息。
闪回数据库需要你配置快速恢复区,因为闪回日志只能被恢复在快速恢复区。
闪回日志默认不是开启的。
闪回日志使用的空间由数据库自动管理,并且自动平衡其它文件在快速闪回区需要的空间。
Oracle对于闪回数据库也支持还原点。
还原点是SCN的别名。
可以在任何时间创建还原点,如果你预计可能会需要还原在那个时间点的部分或全部数据库内容。
保证还原点确保可以使用闪回数据库使数据库返回到还原点的时间。
1.4数据恢复指导(advisor)
Oracle包含一个数据恢复指导,可以自动地诊断反复出现的数据失败、提供合适的修复选项、根据你的请求执行修复。
数据恢复指导针对Oracle备份和恢复方案提供了唯一的入口点。
可以通过OEMDatabaseControl、GridControl、RMAN来使用数据恢复指导。
数据库的失败通常会表现出一系列的症状:
错误消息、预警、跟踪文件和dumps、失败的数据完整性检查。
数据恢复指导自动地诊断并通知这些错误。
对于数据恢复指导,失败就是一个持久的数据损坏,而这种损坏可以被直接映射到一系列的修复选项。
通常数据恢复指导会同时提供自动和手动修复选项。
数据恢复指导确定最好的自动修复选项和选项对数据库的影响。
修复选项可能包括像数据文件还原和恢复、介质恢复、闪回数据库等修复。
在提供一个自动的修复选项之前,数据恢复指导会针对特定的环境来验证它,也会验证为完成建议的恢复相应的介质组件的可用性。
如果你选择了一个自动修复选项,则RMAN会协调数据库上的会话来执行修复。
数据恢复指导会验证修复成功,并关闭相应的错误。
1.5备份恢复文档Roadmap
下图是学习备份和恢复文档的建议路线图。
整个路线图被分为2条主线:
RMAN和用户管理的备份和恢复。
建议的路线是先分后合。
如果是新学者,最好的切入点是OracleDatabase2DayDBA,其中有的备份和恢复章节解释了如何使用OEM执行基本的操作。
可以通过阅读ConceptsConcepts中的相关章节来扩展基本的备份和恢复原理方面的知识。
如上图所示可以使用RMAN实现你的备份和恢复策略(这是建议的方法),也可以使用用户管理的工具。
1.5.1RMAN文档Roadmap
如果使用RMAN作为主要的备份和恢复策略,则从第2章(从RMAN开始),然后按下面的顺序来阅读:
4->5->9->11->12->15->18->17
1.5.2用户管理的备份和恢复文档Roadmap
如果不使用RMAN作为主要的备份和恢复解决方案,则要使用第3方的工具来进行备份、使用SQL和SQL*Plus命令进行恢复。
请顺序阅读:
28->29->30