Oracle数据库11g高可用性,Oracle

回收站 2
数据库11g高可用性 Oracle白皮书2007年6月 NOTE: 以下内容旨在概述产品的总体发展方向。
此信息仅供参考,不可纳入任何合同。
该内容不构成提供任何材料、代码或功能的承诺,并不可作为采购决策依据。
所描述的有关Oracle产品的任何特性或功能的开发、发布和时间安排均由Oracle自行决定。
Oracle数据库11g高可用性 第1页 Oracle数据库11g高可用性 引言..........................................................................................................................3停机原因..............................................................................................................3 计算机故障保护......................................................................................................4真正应用集群......................................................................................................5限定数据库崩溃恢复时间..................................................................................6 数据故障保护..........................................................................................................6存储故障保护......................................................................................................7ASM块修复...................................................................................................7ASM的滚动升级...........................................................................................8站点故障保护......................................................................................................8DataGuard.....................................................................................................8人为错误保护....................................................................................................11预防人为错误................................................................................................12Oracle闪回技术..........................................................................................12数据损坏保护....................................................................................................15Oracle硬件辅助恢复数据(HARD)...........................................................16备份和恢复....................................................................................................16 计划停机保护........................................................................................................18联机系统重新配置............................................................................................19联机修补和升级................................................................................................19联机数据和模式重组........................................................................................22 最高可用性体系结构—最佳实践....................................................................24结论........................................................................................................................24 Oracle数据库11g高可用性 第2页 Oracle数据库11g高可用性 由于企业对IT的需求日益增加,IT基础架构的可用性对于企业成功至关重要。
为了设计出有效的高可用性体系结构,了解导致应用程序无法正常运行的各种原因非常必要。
引言 企业利用信息技术(IT)来集聚竞争优势、降低运营成本、加强与客户间的交流,以及增加核心业务流程的管理可视性。
由于IT以及基于IT的服务(ITeS)在各行各业的广泛运用,现代企业的成功将高度依赖于其IT基础架构。
关键应用程序或数据的不可用可能会使企业损失惨重,如产能和收入降低、客户满意度下降以及公司形象受损等。
因此,可用性高的IT基础架构对于当今企业的快速发展和“始终”保持经济节约至关重要。
在构建高可用性基础架构的传统方法中,会大量用到由不同供应商提供的冗余和闲置硬件与软件资源。
由于组件的松散集成、技术限制以及管理复杂,这种方法不但实施费用昂贵,而且无法达到用户预期的服务水平。
为了应对这些挑战,Oracle一直致力于向客户提供一套全面的、行业领先的高可用性技术,这套技术经过了预集成,可将实施成本降至最低。
本白皮书将向您介绍导致应用程序中断的原因,并探讨Oracle数据库中提供的技术如何能帮助您避免这种情况以及如何快速从无法避免的故障中恢复。
其中还将重点介绍Oracle数据库11g中引入的一些新技术,这些技术使企业能够构建更为强健且容错的IT基础架构,最大化高可用性基础架构的投资回报,以及向用户提供更高质量的服务。
停机原因 在设计高可用的IT基础架构时,重要的是首先要了解导致应用程序中断的各种原因。
如图1中所示,可将停机分为意外和计划两类。
意外停机通常由计算机故障以及其他可能导致数据不可用的故障(如存储损坏、站点故障等)引起。
系统维护活动(如硬件、软件、应用程序和/或数据更改)一般是计划停机的原因。
Oracle数据库11g高可用性 第3页 图1:停机原因 系统停机 意外停机 计划停机 计算机故障 数据故障 系统变化 数据变化 熟知不同服务中断原因的IT机构可以更好地采取措施以防出现此种情况。
通过深入了解,可实施强健的高可用性体系结构,以免遭遇各种原由的系统停机。
以下部分将向您介绍多种可提供全面保护以应对上述故障的Oracle数据库技术。
计算机故障保护如果运行数据库服务器的机器意外中断,则表明遭遇计算机故障,这很可能是由硬件故障引起的。
这是最常见的一种故障类型。
Oracle网格计算体系结构的基础Oracle真正应用集群可针对此种故障提供最有效的保护。
图2:硬件故障 系统停机 意外停机 计算机故障 数据故障 计划停机 系统变化 数据变化 Oracle数据库11g高可用性 第4页 Oracle真正应用集群(RAC)是最大化企业应用程序的可用性、性能以及可扩展性的首要网格计算技术。
没有更好的办法可用于保护您的应用程序免于服务器故障。
只要集群中还有一台计算机在运行,运行在真正应用集群数据库上的应用程序就会继续运行。
真正应用集群 Oracle真正应用集群(RAC)是首要的数据库集群技术,允许集群中的两台或多台计算机(也称为“节点”)同时访问一个共享数据库。
这将有效地创建一个跨越多个硬件系统的数据库系统,同时对应用程序而言像是一个统一的数据库。
从而为您的应用程序带来出色的可用性和可扩展性优势,如: z集群内的容错功能,尤其是出现计算机故障时。
z容量规划的灵活性和经济高效性,进而使得企业可以随着业务的扩展根据需求进行扩展。
真正应用集群支持企业网格。
构建于由标准化商用组件构成的大型配置之上,其中包括:处理器、服务器、网络和存储设备。
RAC是唯一一种可将这些组件整合成可供企业使用的处理系统的技术。
真正应用集群和网格能够动态降低运营成本,并可带来出色的灵活性,从而赋予系统更优异的适应性、前瞻性和灵活性。
动态提供节点、存储器、CPU和内存可以在实现所需服务级别的同时,通过提高的利用率不断降低成本。
此外,真正应用集群对于应用程序访问RAC数据库是完全透明的,因此无需任何修改就可将现有的应用程序部署在RAC上。
RAC体系结构的一个主要优势是多个节点内建的容错性能。
由于物理节点单独运行,因此其中一个或多个节点的故障将不会影响到集群内其它节点。
故障切换可在网格内任一节点上进行。
即使在最恶劣的情况下,包括只有一个节点没有停止工作,真正应用集群仍将能够提供数据库服务。
这一体系结构允许将一组节点联网或与网络断开,以进行维护,而同时其它节点能够继续提供数据库服务。
RAC提供了与Oracle融合中间件的内置集成,可用于连接池故障切换。
借助这一特性,应用程序可立即了解发生的故障,而无需等待数十分钟直到发生TCP超时故障。
鉴于此,应用程序将可以立即采取相应的恢复措施;同时网格负载均衡将重新分配负载。
Oracle数据库11g高可用性 第5页 RAC通过动态硬件资源分配提供灵活的可扩展性。
能够动态地按需添加硬件资源可以降低IT成本,以使IT基础架构根据业务需求进行扩展。
真正应用集群还使得用户可以根据容量需求的增长为集群添加节点,从而能够通过逐步扩充来节约成本,同时消除了使用大型集群来更换小型单一节点系统的需要。
与使用新的更大型节点来更换现有系统以升级系统不同,该解决方案支持逐步为集群添加一个或多个节点,从而使得容量升级流程更为方便快捷。
真正应用集群中实施的缓存融合技术与对InfiniBand联网的支持,使您能够以接近线性的方式调节容量,而无需对应用程序进行任何修改。
Oracle数据库11g进一步优化了真正应用集群的性能、可扩展性和故障切换机制,进一步增强了其在可扩展性和高可用性方面的优势。
有关真正应用集群的详细信息,请访问/technology/products/database/clustering/index.html。
限定数据库崩溃恢复时间 造成意外停机的一个最常见的原因是系统故障或崩溃。
系统故障是由于硬件故障、电源故障和操作系统或服务器崩溃造成的。
这些故障导致的中断次数取决于受影响的用户数量,以及服务恢复的速度。
高可用性系统设计用于在故障发生后,自动快速进行故障恢复。
关键系统的用户希望IT部门能够承诺快速实现故障恢复,并可以预测故障时间。
停机时间如果比承诺时间长,就会对运营造成直接的影响,导致收入损失,生产效率降低。
Oracle数据库提供了非常快速的系统故障和崩溃恢复。
然而,与快速恢复一样重要的是可以预测故障。
Oracle数据库中包含快速启动故障恢复技术,能够自动绑定数据库崩溃恢复时间,而且该技术是Oracle数据库所独有的。
该数据库可以自调节校验点处理,以确保达到所要求的恢复时间目标。
这使得恢复时间加快并且可预测,并提高了满足服务等级目标的能力。
Oracle的快速启动故障恢复可以将高负载数据库的恢复时间从几十分钟缩短至10秒钟以下。
数据故障保护 数据故障是指丢失、损坏或破坏关键业务数据。
导致数据故障的原因多种多样,在许多情况下数据故障会给人造成错觉并难于识别。
一般而言,以下一个或多个原因会导致数据故障:存储子系统故障、站点故障、人为错误和/或损坏。
Oracle数据库11g高可用性 第6页 图3:数据故障 系统停机 意外停机 计划停机 硬件故障 数据故障 系统变化 数据变化 存储故障 站点错误 人为错误 损坏 存储故障保护 Oracle数据库10g引入了自动存储管理(ASM)功能,这是一项突破性的存储技术,该技术将专门针对Oracle数据库文件的文件系统和卷管理器功能集成在一起。
凭借其较低的成本、简单的管理以及较高的性能,ASM很快成为了IT管理人员管理独立数据库和RAC数据库的首选存储技术。
由于以性能和高可用性为主要目标,ASM的构建基于全面条块化和镜像原则。
智能镜像功能使得管理员能够定义2路或3路镜像,以向关键业务数据提供最终保护。
当磁盘出现故障时,可通过利用镜像磁盘上的数据来避免系统停机。
如果要将故障磁盘永久性地从ASM移除,则在剩余磁盘之间条块化或重新均衡底层数据,以继续提供较高的性能。
ASM块修复 Oracle数据库11g引入了一个新功能,增强了ASM的可靠性和可用性。
第一个新特性是通过利用镜像磁盘(一个或多个)上的有效块恢复某个磁盘上的受损块。
当读取操作确定磁盘上存在受损块时,ASM会自动将坏块重新定位到磁盘的未受损部分。
此外,管理员现在还可利用ASMCMD工具根据磁盘的底层受损情况手动重新定位特定块。
Oracle数据库11g高可用性 第7页 通过Oracle数据库11g,使用ASM的数据库提高了可用性,并能够执行其ASM实例的滚动升级。
ASM的滚动升级 Oracle数据库11g中的ASM能够滚动升级ASM软件,从而增强了整个集群环境的可用性。
ASM滚动升级通过保持集群中的其他节点在迁移期间可用,使管理员能够在单个节点上升级ASM时保持其应用程序联机。
ASM实例可运行在不同的软件版本上,直至集群中的所有节点都已进行了升级。
在集群中所有节点完成升级之前,较新版本的ASM软件中的任何功能都无法启用。
站点故障保护 企业需要保护其关键数据和应用程序避免遇到可能导致整个数据中心脱机的灾难性事件。
诸如自然灾难、停电以及通讯中断之类可以对数据中心造成不利影响的事件并不多见。
Oracle数据库提供了多种数据保护解决方案,可安全地保护企业避免由于完全的站点故障而导致昂贵的停机。
最基本的保护形式是离线存储数据库备份。
作为整体HA策略的一部分,站点级灾难中的恢复备份流程花费的时间长度可能是企业无法承受的,并且该备份中可能不包含最新版本的数据。
一个更为迅速、完善的解决方案是在物理上分离的数据中心内管理一个或多个生产数据库副本。
DataGuard OracleDataGuard应是每个IT基础架构灾难恢复实施的基础。
DataGuard提供了可用于在本地数据中心或远程数据中心(可位于世界任何地方)部署和管理一个或多个生产数据库备用副本的技术。
利用DataGuard中各种可配置的选件,管理员能够定义其业务所需的保护级别。
DataGuard还支持网格集群,允许在需要进行故障切换时动态为备用数据库添加服务器。
DataGuard支持两种类型的备用数据库—使用重做应用技术的物理备用数据库与使用SQL应用技术的逻辑备用数据库。
DataGuard重做应用(物理备用) 物理备用数据库通过重做应用技术进行维护并与生产数据库保持同步。
生产数据库的重做数据随附在物理备份中,该物理备份使用介质恢复将更改从重做数据应用到备用数据库。
使用重做应用,备份数据库在物理上与生产数据库保持一致。
物理备用数据库可帮助企业有效降低灾难和数据错误的风险。
在发生错误或灾难时,物理备用数据库将被打开,并用来为应用和最终用户提供服务。
Oracle数据库11g高可用性 第8页 物理备用数据库可通过只读模式打开—即使持续应用重做数据时。
由于它采用了高效的介质恢复机制来将变化应用于备用数据库,因此几乎所有应用程序均支持这一功能,同时它还能够便捷高效地与最大型事务工作负载保持同步。
Oracle高可用性策略的关键特性之一是我们一直关注对从日常角度来充分利用高可用性基础架构。
这使得客户能够从广泛操作(如卸载报告负载、将活动备份到备用数据库或使用备用数据库测试活动)的灾难恢复投资中获得较高的回报。
物理备用数据库始终能够以只读模式打开,从而提供了一种方式,即只需数据库的读取访问权限,就可卸载生产负载。
过去,这种方法的缺点是,物理备用数据库以只读模式打开时,介质恢复会关闭;从而导致物理备用数据库与生产数据库不同步。
利用Oracle数据库11g中这一颇具开创性的功能,在物理备用数据库以只读模式打开时,介质恢复仍将继续运行。
这个令人兴奋的新功能称为具备实时查询的物理备用(PhysicalStandbywithRealTimeQuery),该功能克服了上述打开备用进行只读活动的缺点,现在即使在服务于只读应用程序时,物理备用数据库也可与生产数据库保持同步。
具有在物理方面与生产数据库保持一致的备用数据库的关键优势之一是,用户能够将该备用数据库作为备份活动源。
Oracle数据库10g引入了块跟踪(BlockTracking)技术,该技术将记录自上一次增量备份以来更改的块并显著缩短增量备份所需的时间。
在Oracle数据库11g之前,使用块跟踪技术的快速增量更新只能在主数据库上执行。
Oracle数据库11g中已取消了该限制,因此,客户能够将其所有备份活动卸载至备用数据库。
Oracle数据库11g还引入了一个称为“快照备用”的新功能,该功能允许用户暂时打开物理备用进行读写活动进行测试,且不会伤害灾难保护。
使用该功能,物理备用数据库可暂时转换为可打开进行读写操作的“快照备用”数据库,以针对测试或其他目的处理不依赖于主数据库的事务。
快照备用数据库将继续接收和保存来自主数据库的更新,但是,从自主数据库接收的重做数据直至快照备用重新转换为物理备用数据库后才会得到应用,而所有其为快照备用期间出现的更新将被丢弃。
这使得生产数据库能够始终处于受保护状态中。
最后,Oracle数据库11g可在备用数据库上并行应用更改,从而显著提高了性能。
Oracle数据库11g高可用性 第9页 DataGuardSQL应用(逻辑备用) 逻辑备用数据库通过SQL应用技术进行维护并与生产数据库保持同步。
SQL应用将重做数据转换为SQL事务并将其应用到打开进行读/写操作的数据库,而不是使用介质恢复应用来自生产数据库的更改。
能够打开数据库使得用户可以同时使用逻辑备用数据库以从生产数据库卸载特定负载。
对于可通过向备用添加额外的索引和/或物化视图来进行优化的报告和决策支持系统,许多机构使用逻辑备用。
通过比较主数据库重做数据更改前的值与备用数据库上更改前的值以避免逻辑损坏,SQL应用流程可在生产和逻辑备用数据库之间维护数据的完整性。
因此,逻辑备用数据库对于数据保护特性而言非常重要,它可通过扩展功能增强IT基础架构的可扩展性来确保高可用性。
Oracle数据库11g中的增强功能拓宽了逻辑备用数据库的功能,显著改善了应用性能并使其更易使用。
在Oracle数据库11g中,SQL应用将继续增加对额外数据类型、其他Oracle特性以及PL/SQL的支持,包括: zXMLType数据类型(在存储为CLOB时) z能够在逻辑备用数据库上并行执行DDL z透明数据加密(TDE) zDBMS_FGA(细粒度审计) zDBMS_RLS(虚拟专用数据库) DataGuardBroker 主数据库和备用数据库以及它们的各种交互可以使用SQL*Plus™来进行管理。
为了获得更简便的可管理性,DataGuard还提供了一个分布式管理框架(称为DataGuardBroker),它不但自动化了DataGuard配置的创建、维护和监控,还对这些操作进行统一管理。
管理员可以使用OracleEnterpriseManager或Broker自己的专用命令行界面(DGMGRL)来利用Broker的管理功能。
在OracleEnterpriseManager中使用GUI简单方便,只需单击鼠标即可激活从主数据库到任一类型备用数据库的故障切换流程。
Broker和企业管理器使DBA可以轻松管理和操作备用数据库。
通过加快诸如故障切换和转换等工作,发生错误的几率将可以显著降低。
Oracle数据库11g高可用性 第10页 Oracle通过使用快速启动故障切换特性自动化故障切换流程。
快速启动故障切换减少了在出现灾难的情况下靠管理员来启动备用的依赖性。
Oracle数据库11g进一步增强了DataGuardBroker,以改进对网络传输选项的支持,消除更改保护配置(在最大可用性和最大性能中)时所需的停机以及增加对使用Oracle集群件作为冷故障切换集群以获取高可用性而配置的单一实例数据库的支持。
快速启动故障切换 DataGuard快速启动故障切换功能通过完全自动化从生产数据库到备用数据库的数据库故障切换流程(无需任何人为干预),可为用户创建故障容错备用数据库环境。
出现故障时,快速启动故障切换将快速可靠地自动故障切换到指定的同步备用数据库,无需管理员执行复杂的手动步骤来调用和实施故障切换操作。
这样显著减少了中断时间。
快速启动故障切换完成后,旧的主数据库(根据到配置的重新连接)将由Broker自动恢复为新的备用数据库。
这使得DataGuard配置能够在配置中轻松快速地恢复灾难保护,改善了DataGuard配置的强健性。
利用这个新功能,DataGuard不仅帮助维持透明的业务连续性,而且减少了DR配置的管理成本。
Oracle数据库11g中快速启动故障切换机制中新的增强功能缩短了故障切换时间,并使管理员能够加强对故障切换情况及表现的控制。
例如,管理员现在可以定义特定事件,如触发快速启动故障切换的数据库错误(ORA-xxxx)。
同样,管理员还可配置其DataGuard环境以便在快速启动故障切换激活后关闭主数据库,以避免意外更新。
人为错误保护 几乎所有关于停机原因的研究都发现,人为错误是导致停机的最大原因。
人为错误包括:误删重要数据;或UPDATE语句中不正确的WHERE子句更新了比预定更多的行;要尽可能防止人为错误,当预防措施失败后,要撤消以前的操作。
Oracle数据库提供了易用且强大的工具,有助于管理员快速诊断发生的错误,并从错误中得以恢复。
它还包括诸多特性,使最终用户能够在没有管理员干预的情况下实现故障恢复,从而减轻了DBA的支持负担,并加快丢失和损坏数据的恢复速度。
Oracle数据库11g高可用性 第11页 预防人为错误 避免错误的最佳方式是限制用户的访问,只对他们执行业务所需的数据和服务进行访问。
Oracle数据库提供了广泛的安全工具来控制用户对应用数据的访问,通过对用户进行授权,管理员可向用户授予他们执行任务所需的访问权限。
此外,Oracle数据库的安全模式还提供了限制行级数据访问的能力,它采用虚拟专用数据库(VPD)功能,可进一步防止用户访问他们不需要的数据。
Oracle闪回技术 当授权用户出现错误,您需要使用工具来更正这些错误。
Oracle数据库11g提供了一系列人为错误更正技术,称为闪回。
闪回从根本上改变了数据恢复。
过去,数据库在几分钟内就可能损坏,但需要几小时才能恢复。
利用闪回技术,更正错误的时间与错误发生时间几乎相同。
而且它非常易用,使用一条短命令便可恢复整个数据库,而不必执行复杂的程序。
闪回技术提供了一个SQL界面,能够快速分析和修复人为错误。
闪回技术为本地数据损坏提供了细粒度外部分析和修复,如当错误删除客户订单时。
闪回技术还支持修复更多广泛的损坏,同时快速避免长时间停机,如当本月的所有客户订单都被删除时。
闪回技术是Oracle数据库独有的特性,支持各级恢复,包括行、事务、表、表空间和数据库范围。
闪回查询 使用Oracle闪回查询时,管理员能够查询过去某些时间点的任何数据。
这一强大的特性可用于查看和重建因意外被删除或更改而在逻辑上受到损坏的数据。
SELECT*FROMemp ASOFTIMESTAMPTO_TIMESTAMP(’01-APR-07’02:00:00PM’,’DD-MON-YYHH:MI:SSPM’) WHERE… 这个简单的查询将显示截至指定时间戳emp表中的行。
该特性是一个强大的工具,管理员可利用它来快速识别和解决逻辑数据损坏。
然而,此功能可轻松内置于应用程序中,为应用程序用户提供一种无需联系管理员即可回滚或撤消数据更改的简便快速的方法。
Oracle数据库11g高可用性 第12页 闪回版本查询 闪回版本查询与闪回查询类似,该特性支持管理员查询过去的任何数据。
闪回版本查询的不同以及强大之处在于,它能够检索指定时间间隔内某行的不同版本。
SELECT*FROMemp VERSIONSBETWEENTIMESTAMPTO_TIMESTAMP(’01-APR-07’02:00:00PM’,’DD-MON-YYHH:MI:SSPM’)ANDTO_TIMESTAMP(’01-APR-07’03:00:00PM’,’DD-MON-YYHH:MI:SSPM’) WHERE… 该查询将显示指定时间戳之间各个版本的行。
管理员可以了解在此期间由于不同事务而对值进行的修改。
这种机制使得管理员能够准确查明数据的更改时间和方式,为数据修复和应用程序调试带来巨大受益。
闪回事务 通常,逻辑损坏可以贯穿整个事务,从而可能更改多个行或表中的数据。
闪回事务查询允许管理员查看指定事务进行的所有更改。
SELECT*FROMFLASHBACK_TRANSACTION_QUERY WHEREXID=‘D’ 该查询不仅会显示此事务进行的更改,还将生成闪回或撤消该事务所需的SQL语句。
利用诸如此类的精密工具,管理员能够高效、慎重地诊断并解决数据库中的逻辑损坏。
Oracle数据库11g中的新增功能闪回事务是一组强大、无缝的PL/SQL接口,可简化事务级数据恢复。
该特性是基于强大的闪回事务查询构建的,提供了一种更安全、更强健的修复逻辑数据损坏的方法。
很多时候,数据故障的确认需要花费一些时间。
在这种情况下,可能是根据逻辑损坏的数据执行了一些其他事务。
闪回事务不但可识别和解决初始事务,还可以识别和解决所有相关事务。
Oracle数据库11g高可用性 第13页 闪回数据存档(Oracle数据库11g中的新增功能)可将历史版本的数据的存储延长一段时间。
通过由Oracle自动管理,每次更改数据时,闪回数据存档中就会提供一份原始版本的数据的只读副本。
闪回数据归档 上述闪回查询语句依赖于UNDO表空间中提供的历史数据。
历史数据保留在UNDO表空间中的时间长短取决于表空间的大小、数据更改率以及可配置的数据库设置。
一般而言,管理员配置其数据库保留UNDO数据不超过数天或数周—当然不可能是几年或几十年。
为了克服这种限制,Oracle数据库11g开创性地引入了闪回数据存档提供的新功能。
闪回数据存档可将历史版本的数据作为常规数据保留在数据库内,可根据业务需要来决定数据保留时间。
这无疑是对数据保留策略的一次革新,从而帮助企业轻松应对不断变化的法律法规(如Sarbanes-Oxley和HIPPA)。
为了确保保留数据的完整性,闪回数据存档只允许用户以只读权限访问历史版本的数据。
闪回数据存档是一组强健的工具,企业在管理其关键业务数据时可以通过它获得巨大的灵活性。
显然,闪回数据存档的优势远远超过了修复数据故障所固有的好处。
使用该技术,应用程序开发人员和管理员可以支持用户跟踪和查看信息变化。
由于闪回数据存档不可变的性质,企业通过保存数据以用于诸如审计之类的目的,在财政和策略方面获益良多。
应用程序开发人员可以利用闪回数据存档,以向应用程序引入丰富的特性来允许客户查看过去版本的数据(如银行报表)。
最终,应用程序开发人员和管理员不必再受累于创建和维护自定义逻辑以跟踪对关键业务数据的更改。
闪回数据库 要将整个数据库恢复到以前的某个时间点,传统的方法是从RMAN备份将数据库恢复到出错之前的时间点。
随着数据库的大小逐步增大,恢复整个数据库可能需要几小时甚至几天。
闪回数据库是将整个数据库恢复到指定时间点的一种新策略。
闪回数据库主要使用闪回日志将数据库倒退至所需的时间。
使用闪回日志的闪回数据库非常快速,就好像只是恢复了发生变化的块。
该功能易用且高效,相对于几个小时,它可以在几分钟内精确地恢复数据库。
FLASHBACKDATABASETOTIMESTAMPTO_TIMESTAMP(’01-APR-0702:00:00PM’,’DD-MON-YYHH:MI:SSPM’) Oracle数据库11g高可用性 第14页 IO路径 ORACLE操作系统文件系统卷管理器设备驱动程序主机总线适配器存储控制器磁盘驱动器 如您所见,无需复杂的恢复过程,也无需从磁带恢复备份。
闪回数据库显著减少了恢复数据库所需的停机次数。
闪回表 通常,只是一个或一组表出现逻辑损坏,因此无需恢复整个数据库。
利用闪回表这一特性,管理员可以快速轻松地将某个表或一组表恢复到指定的时间点。
FLASHBACKTABLEorders,order_itmesTIMESTAMPTO_TIMESTAMP(’01-APR-0702:00:00PM’,’DD-MON-YYHH:MI:SSPM’) 该查询将倒退orders和order_item表,撤消在当前时间和指定时间戳之间对这些表进行的所有更新。
如果误删除了某个表,管理员可以使用闪回表特性从回收站恢复删除的表及其所有索引、约束以及触发器。
删除的对象保留在回收站中,直至管理员明确地将其清除或该对象的表空间被迫释放空间。
闪回恢复点 在上文以及闪回数据库和闪回表的示例中,我们使用时间作为恢复或闪回操作的标准。
在Oracle数据库10g第2版中,闪回恢复点是作为简化和加速数据库故障解决的方法提供的。
恢复点是一个用户定义的标签,用于标记管理员认为数据库处于良好状态的指定时间。
通过闪回恢复点,管理员可以更轻松、高效地修复其数据库的不适当活动以及受损活动。
数据损坏保护 组成IO堆栈的各种组件中任何一个出现故障,都有可能造成物理数据损坏。
在较高层处,当Oracle发出一个写操作,数据库IO操作将传递至操作系统的IO代码。
这将启动传递IO贯穿IO堆栈的流程,该IO将通过各种组件,依次为文件系统、卷管理器、设备驱动程序、主机总线适配器、存储控制器,最终到达将写入数据的磁盘驱动器。
这些组件中的任一个出现硬件故障或错误都有可能导致写入磁盘的数据无效或受损。
由此产生的损坏可能会损害内部Oracle控制信息或应用程序/用户数据—其中任何一种情况对数据库的功能和可用性而言都是灾难性的。
Oracle数据库11g高可用性 第15页 通过Oracle独特的HARD程序,领先的存储供应商可直接在存储设备中实施Oracle的数据验证算法。
Oracle的块跟踪技术大大加快了增量备份的速度,现在可用于管理的备用数据库。
Oracle硬件辅助恢复数据(HARD) Oracle的硬件辅助恢复数据是一个综合程序,可用于推动预防措施,减少由于IO堆栈故障而导致的物理损坏。
这个独一无二的程序是Oracle与领先存储供应商协同努力研制的。
具体而言,参与的存储供应商在其存储设备中实施了Oracle的数据验证算法。
HARD对于Oracle数据库而言是独一无二的,因为它能够检测出数据库和存储设备之间IO路径上任何地方的损坏,这种端到端的数据验证可防止将受损数据写入持久性存储设备中。
经过增强的HARD可提供更为完善的验证算法并支持所有文件类型。
HARD程序支持数据文件、联机日志、存档日志以及备份。
自动存储管理(ASM)可利用HARD功能,无需使用原始设备。
备份和恢复 除了目前为止本文探讨过的众多预防和恢复技术的强大功能,每个IT机构还必须部署一个综合的数据备份过程。
当同时出现多个故障时(尽管少见,但并非不会发生),管理员必须能够从备份恢复关键业务数据。
Oracle提供了行业标准工具,可高效、正确地备份数据,从以前的备份恢复数据,以及将数据恢复到正好出现故障前的时间。
恢复管理器(RMAN) 大型数据库可能由数百个遍布众多挂载点的文件组成,因此备份活动极具挑战性。
在备份中即使忽视或遗漏一个关键文件都有可能造成整个数据库备份毫无用处。
经常会出现这样的情况,直至在出现紧急情况需要备份时才发现备份不完整。
Oracle恢复管理器(RMAN)是一个复合工具,可用于管理数据库备份、还原以及恢复流程。
RMAN维护可配置的备份和恢复策略,并保留所有数据库备份和恢复活动的历史记录。
通过其全面的功能集,RMAN可确保成功还原和恢复数据库所需的所有文件都包含在完整数据库备份中。
此外,通过RMAN备份操作,所有数据块都将经过分析以确保受损块不会传播至备份文件。
经过增强的RMAN使得大型数据库的备份过程高效、简洁。
RMAN利用块跟踪功能提高了增量备份的性能。
仅备份自上次备份以来经过更改的块极大地减少了RMAN备份所需的时间和开销。
在Oracle数据库11g中,管理的备用数据库上启用了块跟踪功能。
随着企业数据库大小的持续增长,利用BigfileTablespace将会受益多多。
Oracle数据库11g高可用性 第16页 修复的时间 时间 调查 计划 恢复 BigfileTablespace由一个大型文件而不是众多的小文件组成,从而允许Oracle数据库的大小可扩展至8exabytes(8百万兆兆字节)。
为了提高BigfileTablespace的备份和恢复操作的性能,Oracle数据库11g中的RMAN可以执行文件内并行备份和恢复操作。
许多企业为其生产数据库创建了克隆或副本,以用于测试、质量保证并生成备用数据库。
RMAN早就具有此功能,即通过DUPLICATEDATABASE功能使用现有的RMAN备份克隆数据库。
在Oracle数据库11g之前,需要能够在克隆数据库的主机上访问必要的备份文件。
Oracle数据库11g基于网络的复制可将源数据库复制到克隆数据库,无需源数据库具有现有备份。
相反,基于网络的复制会透明地将必要的文件直接从源数据库克隆到克隆数据库。
Oracle数据库11g支持与Microsoft的VirtualShadowCopyService(VSS)紧密集成。
简言之,Microsoft的VirtualShadowCopyService是一个技术框架,它允许在执行那些卷的一致时间点备份时,应用程序可继续向磁盘写入。
Oracle的VSSWriter是一个单独的可执行文件,可作为Windows系统上的服务运行,它将充当Oracle数据库与其他VSS组件之间的协调器。
例如,OracleVSSWriter使数据库文件处于热备份模式,以允许VSS组件在VSS快照中得到一个可恢复的数据文件副本。
OracleVSSWriter将利用RMAN作为恢复工具,以恢复从VSS快照还原的文件。
此外,经过增强的RMAN还可利用VSS快照作为存储在快速恢复区的增量备份的源。
DataRecoveryAdvisor 当出现意外情况并且关键业务数据遭遇危险时,需要评估所有恢复和修复选项以确保恢复安全且快速。
这些情况可能非常紧迫,且通常出现在半夜。
调查显示,管理员将大部分的修复时间花在了发生事情、发生原因以及数据受损方式的调查上。
管理员需要搜索大量信息以确定相关错误、警报以及跟踪文件。
Oracle数据库11gDataRecoveryAdvisor可将恢复阶段的调查和计划时间缩至最短,以减少中断期间的不确定性和混淆。
凭借与其他Oracle高可用性特性(如DataGuard和RMAN)集成,DataRecoveryAdvisor可快速、准确地分析所有恢复情况。
通过集成,顾问程序能够确定在给定条件下哪些恢复选项可行。
可能的恢复选项将显示给管理员,并根据恢复时间和数据丢失进行评级。
DataRecoveryAdvisor可进行配置以自动实施最佳恢复选项,从而降低对管理员的依赖性。
Oracle数据库11g高可用性 第17页 Oracle安全备份(一个集中式磁带管理系统)备份数据库的速度比主要竞争对手快25%。
许多灾难事件的严重性都可根据中断前显示的准确错误分析和跟踪文件来降低。
因此,DataRecoveryAdvisor将自动持续地通过各种健康检查来分析数据库状态。
一旦顾问程序发现可能引起数据库中断的先兆,管理员即可选择获取恢复建议并执行必要的操作,以修复相关的问题并避免系统停机。
Oracle安全备份 Oracle安全备份(Oracle推出的新产品)为整个Oracle环境(包括数据库和文件系统)提供了集中的磁带备份管理。
Oracle安全备份为客户提供了一个高度安全、经济、高性能的磁带备份解决方案。
由于与Oracle数据库的紧密集成,Oracle安全备份的Oracle数据库备份速度要比主要竞争对手快25%。
这是通过直接调用数据库引擎以及跳过未用数据块的高效算法来实现的。
随着Oracle安全备份与数据库引擎的集成更加紧密,未来这种性能优势将不断扩大,并通过特殊优化措施进一步提高备份性能。
Oracle安全备份还可与Oracle企业管理器集成(我们基于Web的GUI管理工具),以在设置磁带备份或从磁带还原/恢复数据方面为管理员提供前所未有的易用性。
计划停机保护 计划停机通常按日程安排进行,以向管理员提供一段执行系统和/或应用程序维护的时间。
在这些维护时段中,管理员可以备份、修复或添加硬件组件、升级或修补软件程序包,以及修改应用程序组件(包括数据、代码和数据库结构)。
在当今联网的全球经济中,企业应用程序和数据库需要全天候可用。
联网和技术的发展对企业产能造成深远影响的同时,也在高可用的体系结构方面引入了新的挑战和要求。
Oracle数据库11g高可用性 第18页 图5:系统变化 系统停机 意外停机 计划停机 硬件故障 数据故障 系统变化 数据变化 Oracle已发现管理员需要继续进行传统的系统和维护活动,同时又要避免系统和应用程序停机。
Oracle数据库11g中的增强功能可进一步推动此流畅目标的实现。
联机系统重新配置 Oracle支持针对您的Oracle硬件系列的所有组件进行动态联机系统重新配置。
Oracle的自动存储管理(ASM)具有允许联机添加或移除ASM磁盘的内置功能。
在向ASM磁盘组添加或从其中移除磁盘时,Oracle将自动在新的存储配置之间重新均衡数据,同时存储设备、数据库以及应用程序保持联机。
如本文前面所述,真正应用集群提供了非凡的联机重新配置功能。
管理员可以动态地添加和移除集群节点,而不会对数据库或应用程序造成任何干扰。
Oracle支持在具有此联机功能的SMP服务器上动态添加或移除CPU。
最后,Oracle的动态共享内存调整功能允许管理员联机扩大或缩小共享内存和数据库缓存。
通过自动内存调整功能,管理员可以让Oracle根据内存使用情况特点分析自动确定共享内存的大小和分配。
Oracle的广泛联机重新配置功能使管理员不仅能够将由于维护活动而导致的系统停机次数降至最少,而且还支持企业根据需要伸缩容量。
联机修补和升级 具有高可用性要求的企业可以利用Oracle技术在不受到最终用户干扰的情况下修补和升级系统。
通过对真正应用集群和OracleDataGuard的策略运用,管理员可以更加熟练地支持业务需求。
Oracle数据库11g高可用性 第19页 Oracle的RAC和DataGuard主要是提供策略功能以维护应用程序可用性,即便是在修补、硬件维护以及软件更新期间。
滚动补丁更新 Oracle支持通过滚动方式向真正应用集群(RAC)的节点应用补丁,从而保证修补过程中数据库的可用性。
联机修补流程如下面的图6所示。
第一个方框描述了一个双节点RAC集群。
执行滚动升级时,停止一个实例的同时,集群中其他实例继续向最终用户提供服务。
在示例的第二个方框中,实例“B”停止并进行修补;同时所有客户端流量被引向实例‘A’。
成功将补丁应用到实例后,可重新联接集群并进行联机。
注意,这些实例现在运行在不同的维护级别下,并可以继续以此状态运行任意长的时间。
如此,管理员就可在将补丁应用到集群中的其余实例前,测试并验证新修补的实例。
一旦补丁通过了验证,就可使用相同的滚动升级方法停止集群中的其他实例并进行修补了。
在示例的第三个方框中,停止了实例“A”并正在对其进行修补,而实例“B”再次接受客户端流量。
最后,集群中的所有实例都经过了修补,现在都处于同一维护修补级别下,并再次于集群中联机均衡客户端请求。
滚动升级方法可用于使用OPATCH的紧急一次性数据库补丁和诊断补丁、操作系统升级以及硬件升级。
Oracle数据库11g高可用性 第20页 图6:联机修补 客客户端户端
A B 初始RAC配置 客户端 补丁 A接受客户端流量B进行修补
1 初 客户端始 RAC 配置升级完成 补丁 客户端 A进行修补B接受客户端流量 联机软件升级 利用Oracle的SQLApplyDataGuard技术,管理员可以在几乎无需停机的情况下应用数据库补丁、主要版本升级以及集群升级。
实例化一个逻辑备用数据库并配置DataGuard保持备用数据库与生产数据库同步后,该流程开始。
DataGuard配置完成后,管理员将暂停同步并对所有重做数据排队。
备用数据库升级后,重新联机,并激活DataGuard。
所有队列化的重做数据将传播并应用到备用数据库,以确保两个数据库之间不会出现数据丢失。
备用数据库与生产数据库可保持混合模式,直至测试确认升级成功完成。
此时,可以进行转换以将数据库角色对调—备用数据库现在服务于生产负载,而生产数据库准备进行升级。
升级生产数据库时,备用数据库(转换期间转换为主数据库)将对重做数据进行排队。
在升级了生产数据库并应用了重做数据后,进行转换,原始生产系统将再次接管生产流量。
下面的图7演示了近乎零停机的数据库升级流程。
Oracle数据库11g高可用性 第21页 图7:滚动软件升级 客户端 SQL应用 客户端 升级 日志列队 版本
X 版本
X 设置SQL应用 升级 客户端 SQL应用 版本
X 版本X+
1 将节点B升级至版本X+
1 客户端 SQL应用 版本X+
1 版本X+
1 版本
X 版本X+
1 切换到B升级
A 在用于测试的混合模式中运行 Oracle数据库11g通过引入一个名为“临时逻辑备用”的功能,使滚动升级流程的魅力得到了进一步扩大。
该特性允许用户将物理备用数据库暂时转换为逻辑备用数据库以进行有效的滚动数据库升级,然后在升级完成后再将其转换回物理备用数据库(使用KEEPIDENTITY子句)。
希望执行滚动数据库升级的物理备用数据库用户将会受益于此功能,因为无需投资冗余存储设备,否则需要创建逻辑备用数据库。
联机数据和模式重组 联机数据和模式重组通过允许用户在重组过程中可完全访问数据库,改善了整体数据库的可用性,减少了计划停机时间。
Oracle数据库11g高可用性 第22页 每个版本的Oracle都引入了增强的联机重组功能,如创建和重建索引、重新定位和碎片整理表以及添加、删除和重命名列。
对联机重组功能的支持将会继续扩展以纳入以下对象类型:高级队列(AQ)表、物化视图日志、包含抽象数据类型(ADT)的表以及集群表。
通过Oracle10g中令人兴奋的新联机重组功能,管理员能够从段回收未用空间—减小了数据库占用的空间,且不会对最终用户造成干扰。
Oracle数据库11g对联机数据和模式重组进行了额外改进。
传统上,将带有默认值的列添加到带有许多行的表可能需要很长时间,主要是在会锁定该表直至操作完成,在该过程中应用程序的可用性受到了抑制。
该方法经过改进后,Oracle在添加带有默认值的列方面得到了显著改善。
通过这些创新举措,与默认值规范相关的开销得以去除,因此,添加带有默认值的列不会再对数据库可用性或性能产生任何影响。
许多数据定义语言(DDL)的维护操作都得到了增强。
不会再强迫某些ddl操作使用NOWAIT锁。
管理员可以定义在中止ddl操作前允许其等待锁的时间长度。
许多ddl操作已得到增强,可在维护操作期间获取共享锁,而不是独占锁。
这些改进使得管理员能够维护高可用的环境,而不会影响到其例行维护操作和模式升级的执行。
Oracle数据库11g引入了一个新的索引属性,可提高模式维护和升级过程期间的可用性。
现在,可创建具有Invisible属性的索引,以使基于成本的优化程序(CBO)忽略索引的出现。
SQL语句中的提示将使不可见的索引对于CBO“可见”,这样,维护和升级SQL语句就可利用索引,而不会导致应用程序SQL错误地使用索引。
当索引对于CBO不可见时,不可见的索引仍由DML操作维护。
在决定将一个索引用于生产数据库可用性时,一条简单的AlterIndex语句将使该索引对于CBO可见。
应用程序升级 随着业务要求的发展,应用程序和数据库需要不断对其提供支持。
过去,应用程序升级必须在计划停机后方可进行。
通过策略应用DBMS_REDEFINITION程序包(企业管理器中也有提供),管理员可以无缝地管理应用程序升级,同时继续支持联机生产系统。
Oracle数据库11g高可用性 第23页 使用该API的管理员支持最终用户访问原始表,包括插入/更新/删除操作,同时升级流程将修改该表的中间副本。
中间表按例与原始表保持同步,一旦升级过程完成,管理员就会执行最终同步并激活升级的表。
分区 数据库的管理难度随着规模的扩大逐步攀升。
分区是一项允许管理员将大型表和索引分解为较小的、更易管理的段的关键技术。
在多数维护活动可联机执行的同时,一次维护一个分区可为多数联机操作提供更大的灵活性和更高的性能。
而且,分区可提高Oracle数据库的容错能力。
管理员可以通过策略方式将单个分区定位在不同的磁盘上;因此,磁盘故障将只会影响到驻留在该磁盘上的分区。
Oracle的最高可用性体系结构是同类最佳技术的集成体,可提供一套最全面、经济的高可用性技术。
最高可用性体系结构—最佳实践 操作最佳实践对于IT基础架构成功与否至关重要。
Oracle的最高可用性体系结构(MAA)是Oracle的最佳实践,该实践以一套集成的Oracle同类最佳高可用性(HA)技术为基础。
MAA与Oracle数据库特性相集成以实现高可用性,这些特性包括真正应用集群、恢复管理器以及企业管理器。
MAA中包括针对关键基础架构组件的最佳实践推荐,这些组件包括服务器、存储系统、网络系统和应用服务器。
除技术外,MAA蓝图还包含特定的设计和配置推荐,这些推荐都经过了测试,可确保最佳系统可用性与可靠性。
在IT基础架构中利用了MAA的企业可快速、高效地部署符合其高可用性业务要求的应用程序。
Oracle的最高可用性体系结构通过很好地将技术与操作最佳时间相结合,使企业能够部署坚不可摧的IT解决方案。
MAA最佳实践将会不断进行扩充。
有关MAA的更多信息,请访问。
结论 企业深知维持高可用性技术基础架构以保护关键数据和信息系统的重要价值。
许多关键任务信息系统的核心是Oracle数据库,它负责技术基础架构的可用性、安全性以及可靠性。
经过数十年的创新,Oracle数据库11g引入了革命性的新可用性和数据保护技术,从而为客户带来了最大化数据和应用程序可用性的更加有效的新方法。
Oracle全面的技术集可为企业提供无与伦比的保护,使其免受各种中断之累—无论该中断是由于计划维护活动还是意外故障导致。
Andthe而所提供的网格功能确保了部署数据库环境(以及适应于变化的业务需求)的成本显著低于过去为获得相同效果所必须花费的成本。
Oracle数据库11g高可用性 第24页 甲骨文(中国)软件系统有限公司 北京远洋光华中心办公室 地址:北京市朝阳区景华南街5号远洋光华中心C座21层邮编:100020电话:(86.10)6535-6688传真:(86.10)6515-1015 北京上地6号办公室 地址:北京市海淀区上地信息产业基地,上地西路8号,上地六号大厦D座702室邮编:100085电话:(86.10)8278-7300传真:(86.10)8278-7373 上海分公司 地址:上海市黄浦区天津路155号名人商业大厦12层邮编:200021电话:(86.21)2302-3000传真:(86.21)6340-6055 广州分公司 地址:广州市天河区珠江新城华夏路8号合景国际金融广场18楼邮编:510623电话:(86.20)8513-2000传真:(86.20)8513-2380 成都分公司(川信大厦办公室) 地址:成都市人民南路二段18号四川川信大厦20层A&D座邮编:610016电话:(86.28)8619-7200传真:(86.28)8619-9573 成都分公司(高新国际广场办公室) 地址:成都市高新区天韵路150号高新国际广场D座四楼18-19,22-25单元邮编:610041电话:(86.28)8530-8600传真:(86.28)8530-8699 大连分公司 地址:大连软件园东路23号大连软件园国际信息服务中心2号楼五层502号A区邮编:116023电话:(86.411)8465-6000传真:(86.411)8465-6499 济南分公司 地址:济南市泺源大街150号,中信广场11层1113单元邮编:250011电话:(86.531)8518-1122传真:(86.531)8518-1133 沈阳分公司 地址:沈阳市沈河区青年大街219号,华新国际大厦17层D单元邮编:110016电话:(86.24)23961175传真:(86.24)23961033 南京分公司 地址:南京市玄武区洪武北路55号,置地广场19层1911室邮编:210028电话:(86.25)8476-5228传真:(86.25)8476-5226 杭州分公司 地址:杭州市西湖区杭大路15号,嘉华国际商务中心702室邮编:310007电话:(86.571)8717-5300传真:(86.571)8717-5299 西安分公司 地址:西安市高新区科技二路72号,零壹广场主楼1401室邮编:710075电话:(86.29)8833-9800传真:(86.29)8833-9829 福州分公司 地址:福州市五四路158号,环球广场1601室邮编:350003电话:(86.591)8801-0338传真:(86.591)8801-0330 重庆分公司 地址:重庆市渝中区邹容路68号,大都会商厦1611室邮编:400010电话:(86.23)6370-8898传真:(86.23)6370-8700 深圳分公司 地址:深圳市南山区高新南一道飞亚达大厦16层邮编:518057电话:(86.755)8396-5000传真:(86.755)8601-3837 甲骨文软件研究开发中心(北京)有限公司 地址:北京市海淀区中关村软件园孵化器2号楼A座一层邮编:100094电话:(86.10)8278-6000传真:(86.10)8282-6455 深圳分公司 地址:深圳市南山区高新南一道德赛科技大厦8层0801-0803单元邮编:518057电话:(86.755)8660-7100传真:(86.755)2167-1299 甲骨文亚洲研发中心-上海 地址:上海市杨浦区淞沪路290号创智天地10号楼512-516单元邮编:200433电话:(86.21)6095-2500传真:(86.21)6095-2555 Oracle数据库11g高可用性2007年6月作者:WilliamHodak协作者:SushilKumar 公司网址:(英文)中文网址:(简体中文)销售中心:800-810-0161售后服务热线:800-810-0366培训服务热线:800-810-9931 欢迎访问:(英文)(简体中文) 版权©2009归Oracle公司所有。
未经允许,不得以任何形式和手段复制和使用。
本文的宗旨只是提供相关信息,其内容如有变动,恕不另行通知。
Oracle公司对本文内容的准确性不提供任何保证,也不做任何口头或法律形式的其他保证或条件,包括关于适销性或符合特定用途的所有默示保证和条件。
本公司特别声明对本文档不承担任何义务,而且本文档也不能构成任何直接或间接的合同责任。
未经Oracle公司事先书面许可,严禁将此文档为了任何目的,以任何形式或手段(无论是电子的还是机械的)进行复制或传播。
Oracle是Oracle公司和/或其分公司的注册商标。
其他名字均可能是各相应公司的商标。
本简体中文翻译版未经原英文版作者审核,仅供参考,Oracle对本翻译之准确性不承担任何责任。

标签: #文件 #隐藏文件 #共享文件夹 #文件 #costco #culture #文件 #隐藏文件