前 言 本书是关于RMAN备份与恢复的最新版本。Oracle Database 11g是值得信赖的数据库版本,其RMAN对先前版本进行了改进,增加了一些新的功能和出色的新特性。从Oracle 8版本开始,多年来RMAN不断地进行改进以期获得最佳的效果。 0.1 解决旧问题和提出新问题 在《Oracle 9i RMAN备份与恢复技术》(清华大学出版社引进并出版)一书中,我们在前言中提出了如下问题:如何在可用性与可恢复性之间寻求平衡?然后通过全面介绍Oracle的备份和恢复解决方案,我们回答了这个问题。此书的不错销量说明很多人喜欢这个答案。我们在用户开始真正地采用RMAN作为备份与恢复解决方案的时候出版了该书籍。 随着《Oracle Database 10g RMAN备份与恢复》(清华大学出版社引进并出版)一书的问世,我们发现许多读者对RMAN的了解更加深入。与此同时,他们提出了一些更加复杂的问题,尝试掌握Oracle Database 10g提供的所有新特性。随着数据库不断发展,平均恢复时间成为人们关注的焦点,RMAN成为数据库管理员常用工具集中不可或缺的重要工具之一。 Oracle Database 11g发布以来,上述趋势还在延续。目前数据库管理员低估了其复杂性,他们正努力跟上已经出现的变化。从网格计算到高可用性以及平均恢复时间,问题变得越发复杂,解决这些问题也越发困难。当然,我们希望RMAN能够提供解决这些问题的方法。 RMAN是具有Oracle数据库许可的。就是说当数据库安装后,RMAN就可以使用(初始最小配置,本书将会深入讨论这些配置)。RMAN可以用于备份最大、最小或最复杂等各种类型的Oracle数据库。可以备份设置在小型服务器上的单实例数据库,也可以备份设置在多个服务器上的多节点RAC集群数据库。Oracle Database 11g RMAN仍然保留了您所熟悉的各项功能,同时提供了大量的新特性以提高其性能。 0.2 为DBA和系统管理员提供帮助 为Oracle数据库选择稳定可靠的备份策略时,可能出现的最棘手的问题是:备份策略总是会使数据库管理员和系统管理员的任务出现重叠。制定RMAN的备份策略也存在同样的问题。RMAN的备份策略与Oracle RDBMS的集成意味着系统管理员必须具备Oracle数据库的实际经验。但是,对外部磁带存储系统和网络拓扑结构的依赖又使得DBA管理网络计算机系统的能力显得非常重要。这就引发了职责的分工,对两边来说都是一个难题。 此外,业务需求将模糊DBA和系统管理员的职责范围。或者更为准确地说,DBA会发现他们的工作不断增加,已经扩展到要做一些系统管理员的工作,而系统管理员则会发现要花费更多的时间来学习SQL命令。 本书将解决这种角色上的重叠,具体体现在针对数据库备份这个最容易产生角色重叠的领域提供指导性的建议。 0.3 更为优秀的RMAN 从Oracle 8.0.3版本(Oracle 8的第一个产品版本)开始引入了RMAN。在这之前,Oracle提供的直接在磁带上生成数据流备份的接口使用Export实用程序进行逻辑备份,或使用Enterprise Backup Utility(EBU)。现在已经不再使用EBU,这也是最后一次提及该工具。 最初的RMAN版本难免有不尽人意之处,而且存在不少错误。但是,其后的版本添加了一些新的功能,修正了软件故障,并且改进了接口。理解RMAN版本演化的最好方法是想象一下演示人类进化过程的传统海报。在海报上的左边,是一只靠四肢行走的猴子。稍往右看,是一个逐渐直立行走的人,直到最右边,所看到的是一个完全直立行走的现代人。 在Oracle 9i版本中,RMAN的功能更加完备,并且已经成为用于高可用性数据库系统的各种重要策略的必要组件。 现在,RMAN已经经历了两个10g版本,在功能上不断地改进和完善,其目标是成为功能完善的可用组件。 0.4 本书主要内容 本书介绍了Oracle Database 11g Release 2的最新功能,帮助您充分了解RMAN接口的最新功能,并且说明了所增加的新特性。所有代码示例和体系结构说明都基于RMAN的11g R2版本。 如果您使用的仍然是Oracle和RMAW早期的版本(Oracle 8i,Oracle 9i,Oracle Database 10g),该书仍然对您有帮助,尽管一些新特性您体验不到。显而易见的是,本书全面介绍了在Oracle 11g中执行各项操作的方式,但是没有指出或引用前面版本《Oracle 9i RMAN备份与恢复》或者《Oracle Database 10g RMAN备份与恢复》的内容。 0.5 更有效地使用本书 与其他技术指南一样,可以通过阅读本书来熟悉RMAN及其在高可用性或灾难恢复解决方案中的作用。本书采用由简入繁、循序渐进的方式,逐步地讨论了从基本原则到设置到备份的内容,最后介绍了高级功能与各种实习。 第Ⅰ部分介绍了Oracle RDBMS中备份与恢复的基本原理,以及RMAN的概念和体系结构。该部分的两章内容是其他章节的基础,我们建议您认真阅读和理解这些概念。如果能够理解该部分中描述的概念和内部运行机制,就能轻而易举地理解本书的其余部分。 第Ⅱ部分讨论了RMAN的初始设置。首先介绍了所有可能的RMAN配置选项,然后讨论了RMAN与介质管理器的集成。介质管理层允许用户将备份直接写入磁带设备。目前市场上有多种介质管理产品,该部分将讨论4种最常用的产品:Oracle自带的Secure Backup、VERITAS NetBackup、EMC NetWorker Module for Oracle,以及IBM Tivoli Storage Manager。 第Ⅲ部分提供了有关RMAN用法的基础知识,其范围从最基本的备份操作到最高级的恢复选项。我们将讨论目录维护和查看目录的方法,以便更有效地管理不断存储的备份。此处将介绍Oracle中经过重新设计的Enterprise Manager产品,并将介绍如何使用闪回技术从逻辑错误中恢复。最后,还将讨论为优化性能对RMAN备份与恢复进行的调整。 第Ⅳ部分介绍了备份与恢复操作外的更高级的功能,让您了解利用RMAN完成简单备份操作之外能完成的其他任务。该部分的内容包括:如果使用RMAN备份生成数据库的克隆副本和如何使用备份创建Oracle Data Guard使用的备用数据库;根据特殊的需求和要求在Real Application Clusters(RAC)环境中使用RMAN;对一系列RMAN案例的分析深入研究了需要使用RMAN的各种情况。 第V部分中的附录A包括RMAN语法参考,可以借助该附录成功地构建RMAN命令;附录B探讨了RMAN目录,以及数据库中的v$视图和恢复目录中的rc_*视图;附录C详细介绍了如何设置RMAN测试环境。在实现产品备份与恢复策略前,您可以使用这个测试环境来测试各种RMAN功能以达到用最少的工作高效率地将该书投入实践操作。 0.6 RMAN实践 当然,您可能不会细读书中的所有内容。一本优秀的技术书籍应该是摆放在计算机旁边,带有折角页、重点章节标记和书签标记,供您随时查阅。 除了概念解释外,本书实际上是一本参考指南。我们在书中综合了各种有用的技术和简便的方法。即使不熟悉RMAN的整个体系结构,也可以随时运用这些方法。有时候,尤其是在备份与恢复操作中,我们只需要知道该怎么做,而不需要知道为什么要这样做。因为谁都不希望被一大堆恢复工作和操作语法弄得焦头烂额,而使得产品数据库处于空闲状态,并导致时间和金钱的白白流失。 因此,为了突出重点,我们在本书中引入了一些RMAN实习的章节,阅读过Oracle先前版本的读者应该已经非常熟悉这些RMAN实习。在这些RMAN实习中,我们提供了用于执行指定操作的代码或用于完成特定项目的一系列步骤,以帮助您快速完成各种工作。我们为RMAN实习添加了灰色方框,当您看到这种方框时,就可以知道下面的页面将介绍一些实际的步骤,遵循这些步骤可以快速地完成工作。可以将RMAN实习视为食谱,它提供了快速做好一顿饭所需的各种配料和混合这些配料的说明。 我们再次建议您逐章地阅读本书。因为理解产品的概念是最重要的,特别是用于保护最有价值的数据库的产品。 总之,RMAN是一个值得深入研究和充分利用的产品,它能够节省您的时间和精力,并帮助您解决运行中断压力等各种问题。 最后,请将您对本书的建议发送至wkservice@vip.163.com,我们将不胜感激。