序 言 我经常说,有一件事情是绝不允许DBA犯错的,那就是"恢复"。概括地讲,DBA必须确保那些不容丢失的数据绝不丢失。允许用户持续访问所有公司数据并且不会丢失数据是DBA的首要任务。在发生偶然灾难时可靠完成恢复是DBA工作的一部分,而Oracle Data Guard是实现这一点的途径。 Oracle提供诸多功能来帮助备份和恢复数据,以及确保数据的可用性。但由于功能众多,所以实现和配置起来有时令人望而生畏。您会问,"在当前环境下,提供持续可用性的最佳办法是什么?","我如何在所有可能的配置中做出抉择?","在一种方式和另一种方式中如何权衡?","其后台采用什么运行方式?"本书将深入分析所有这些问题以及其他问题。作者Larry Carpenter、Joe Meeks、Charles Kim、Bill Burke、Sonya Carothers、Joydip Kundu、Michael Smith和Nitin Vengurlekar都是这个领域的专家。他们为此给出了答案。 本书首先阐释Data Guard架构,最先介绍事务日志(REDO)信息--包括重做数据的角色、传输方式及最终用法等,将以通俗易懂的方式介绍构成Data Guard架构的各个分层。将介绍如何传送重做数据,以及接受重做数据的灾难恢复站点如何应用(使用)这些信息。将分析物理备用数据库和逻辑备用数据库的区别,介绍Data Guard的不同配置模式(为了获得卓越性能,或者为了确保数据的零丢失)。还将讨论备用数据库的一些日常使用方式;备用数据库不再是仅限于消除故障之用。 本书接着描述备用实例的实际物理安装、设置和配置过程。首先给出"设置前需要考虑的事项"一节--这是我欣赏的编排方式。在入手前要充分了解信息,对具体要提出哪些问题做到心中有数。将介绍和讨论恢复点目标(Recovery Point Objective,RPO) 以及恢复时间目标(Recovery Time Objective,RTO)等重要术语;RPO指数据必须得到保护的时间点,用于度量可以承受多少"损失"(从零到大量);RTO指可以承受的无法使用数据的时间量(同样从零到大量)。必须为这些指标指定一些值,否则将难以(甚至无法)确定如何配置灾难恢复解决方案。 介绍安装和配置方法后,本书开始介绍性能调整问题,包括常见问题(请相信我,在上,我经常看到有人提出此类问题)。如何调整Data Guard?如何度量Data Guard响应时间?在Data Guard的哪些位置耗费了时间?在介绍调整恢复速率(在灾难恢复站点应用重做数据的速率)、如何采用并行方式完成Data Guard恢复、排除重做数据应用问题以及分析操作事项(运行方式)的章节中,将讨论上述所有问题及其他问题。我认为这至关重要。如果您理解运行方式,就能更好地胜任"修理"工作。 后续章节介绍如何管理Data Guard环境,包括使用诸如Enterprise Manager的自动化工具或采用"自己动手编写脚本"的方式。 再后的章节涵盖了您希望永远不会遇到的"故障转移(failover)"操作。它们实际上包括切换(switchover)和故障转移过程;经历可逆的正常切换过程,可将生产系统转换为备用系统,而将备用系统转换为生产系统。这些都是需要亲手实践的领域;您不希望发生这样的事情:有一天需要完成故障转移,却不知所措,或更糟的是,因为存在一个此前未发觉的错误,导致无法完成故障转移。 本书其余部分介绍了其他一些十分有用的信息,例如"我还能利用备用系统做什么?","这对备份和恢复过程有何影响?","其他人如何实现Data Guard以及他们为什么做出那些选择?","Data Guard为何是正确的数据库灾难恢复方法,其他方法存在哪些问题?"等等。 总之,这是一本指南书籍,旨在帮助您了解灾难恢复实施方式、需要考虑的事宜、可供选择的选项以及不同环境下应采用的选项。本书以实用方式,将"它如何工作?"和"我如何让它工作"两方面的内容完美融合在一起。 --Thomas Kyte asktom.