您的位置:首页 > 其它

14.1 备份与恢复问题

2010-09-21 18:06 183 查看

14.1 备份与恢复问题

http://book.51cto.com 2010-07-23 23:45 宋钰/汪洋/罗巨波 清华大学出版社 我要评论()

摘要:《Oracle 11g应用与认证教程》第14章配置数据库的备份与恢复,本章介绍数据库备份及恢复的配置,包括数据库的备份与恢复、数据库的失败类型、实例恢复和可恢复性的设置等。本节为大家介绍备份与恢复问题。
标签:Oracle 11g Oracle 11g应用与认证教程

[align=right]限时报名参加“甲骨文全球大会・2010・北京”及“JavaOne和甲骨文开发者大会2010”[/align]

第14章 配置数据库的备份与恢复
本章介绍数据库备份及恢复的配置,包括数据库的备份与恢复、数据库的失败类型、实例恢复和可恢复性的设置等。通过本章的学习,读者应该完成以下学习目标:
了解数据库备份、还原和恢复的基础知识
了解Oracle数据库中可能出现的失败类型
学会进行实例恢复
了解检查点、重做日志文件以及归档日志文件的重要性
学会配置archivelog模式
学会配置数据库的可恢复性
14.1 备份与恢复问题
DBA无法独立地进行备份与恢复。机构所能够忍受的停机时间与数据损失量是业务分析人员(而非DBA)的职责。业务分析人员与终端用户协力确定特定的需求,而DBA则适当地配置数据库。为了完成这个工作,DBA会请求与系统管理员以及其他技术支持人员进行合作。在某些时候还需要考虑预算限制,对于一个不丢失任何数据并且百分之百正常运行的环境来说,其造价比不要求实现上述目标的环境的造价要高许多。在对正常运行时间和数据丢失量做出更高的要求时,性能也可能会随之退化。
考虑业务需求、性能以及资金成本的最终结果通常是一个折中的方案。记录这个方案极其重要,记录的形式通常是一个服务级别协议(service level agreement),这个协议详细描述了实现的功能以及不同失败类型的影响。对于DBA来说,他(她)并不需要进行诸如确定数据库管理在特定环境中优劣之类的工作,而是只需确认是否接受这个服务级别协议。这种做法不仅能够使DBA在出现问题时免受批评指责(任何人都无法对自己已认可的事物说三道四),而且能够保证终端用户得到他们需要和认可的服务级别。服务级别协议与备份和恢复相关的3个方面是:平均失败时间(Mean Time Between Failures,MTBF)、平均恢复时间(Mean Time To Recover,MTTR)和数据损失量。DBA的目标就是在减少MTTR和数据损失量的同时增加MTBF。
MTBF指的是数据库出现失败的频繁度。对于某些机构来说,数据库必须始终能够正常运作。实时系统(例如人造卫星的飞行控制系统或炼油厂的加工控制系统)必须始终运行,对于这些系统来说,即使是几分钟的故障都可能是灾难性的。Oracle供了两种有助于百分之百可用性的高级选项:RAC和Streams。RAC(或群集)数据库由位于多台计算机上的多个实例所打开的一个物理数据库组成。即便任何一台计算机或实例出现失败,也仍然能够通过一个存活的实例使数据库保持可用状态。RAC使硬件、操作系统与软件免遭失败。Streams环境由位于不同计算机上的两个或多个数据库组成,这些计算机可以分布在广阔的地域内。Streams机制能够根据需要保持两个数据库实时同步。用户可以连接任意一个数据库,并且对每个数据库的修改都会被发布至其他数据库。如果一个数据库出于某种原因变得不可用,那么未完的工作仍然能够在另一个数据库上继续进行。因为Streams选项使磁盘和网络免遭失败,同时也使硬件、操作系统与软件免遭失败,所以与RAC选项相比,该选项的容错能力更强。
MTTR指的是数据库出现失败后的停机时间。对于许多机构来说,这个指标实际上比数据损失量更为重要。例如,通信计费系统每分钟的故障都意味着电话用户在享受免费的通话服务,长期的停机则会损失大量的金钱,与之相比,损失区区几分钟的数据并不重要。显而易见,数据库系统永远可用是最理想的情况,不过在数据库出现失败时,DBA有责任以最快的速度完成修复工作。减小MTTR的一个重要因素是实践。数据库崩溃时,为了尽快打开数据库,DBA将承受巨大的压力。此时,最重要的是有所准备,DBA不可能也不允许在执行适当的动作之前去查阅手册。实践,实践,还是实践!如果不能在实际应用的系统中去试验恢复操作,那么就一定要在备份系统进行各种试验。只有仿真了所有可能的失败类型,我们才能够应付一切可能发生的情况。
第三个目标是将数据的损失量最小化。有些机构无法容忍损失任何数据。例如,股票交易系统必须不能丢失任何一笔交易。如果不想承受丢失某个事务的风险,那么最好的方法是暂时不进行任何交易。在其他环境中,损失数小时的数据或许能接受,但是一定要记录这种情况。从9i版本开始,Oracle数据库可以被配置为在任何情况下都不会损失数据。这种功能是由Data Guard实现的。在Data Guard系统中,实际运行的数据库(被称为主数据库)受到一个或多个备用数据库的保护。备用数据库不断地使用所有被应用于主数据库的变化进行更新。如果有必要的话,这些变化可以被实时传送至备用数据库。
RAC、Steams以及Data Guard这3个高级选项对性能都有影响(无论好坏,它们都取决于设置方式以及目标),并且会使其使用比较复杂。这些内容超出了OCP考试的范围,但是对于Oracle University更高级的认证来说则是必须了解的内容。
任何容错系统都特别依赖于硬件冗余。DBA需要与系统管理员一起实现容错功能。如果某个数据文件由于磁盘失败而变得无效,那么数据库也会变得无效(至少部分变得无效)。增加MTBF的目标必须与系统管理员的磁盘冗余与替换目标联系在一起。同样地,DBA完全依赖于网络。如果用户不能进行连接,那么他们不会在意路由器失败的原因。需要记住的是,必须使用整个IT环境来设置Oracle数据库的目标,同时还必须在服务级别协议中清楚地记录上述内容。使用作为DBA的角色能够确保无论出现怎样的失败类型,都可以满足用于正常运行和数据损失的协议标准。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: