首页 百科知识 系统的高可用性

系统的高可用性

时间:2023-10-09 百科知识 版权反馈
【摘要】:Oracle9i通过引进强大功能而确立了一套高适用性的新标准。新特性提供保护措施以避免灾难,迅速恢复系统故障,透明恢复人为过失,并减少计划停工。Oracle9i Fail Safe对Window NT和2000群集体系结构上的电子商务提供高有效性和系统故障保护。Oracle9i引入的基于时限的快速启动恢复,允许数据库管理员对恢复时间指定一个目标上限值。Oracle9i的在线表及索引重新组织减少了计划性停工,提高了应用程序的有效性,减少磁盘碎片,并提高了应用程序性能。

3.10 Oracle9i系统的高可用性

不论是否在计划之中,停机对于电子商务来说都是最糟糕的事情。应用时停机会导致收入损失,生产率降低,客户流失,公司声誉受损,并使人们对你的电子商务缺乏信心。Oracle9i通过引进强大功能而确立了一套高适用性的新标准。新特性提供保护措施以避免灾难,迅速恢复系统故障,透明恢复人为过失,并减少计划停工。

1.故障恢复

Oracle9i Data Guard使得客户能够从灾难境况中快速恢复。Data Guard的行为,就执行备份操作来说,是完善、简易和全自动的。

(1)物理备用数据库

物理备用数据库通过把日志文件从主服务器备份到备用服务器得到维护。利用一种称为“前滚”的操作,通过媒介,这些日志文件被用来调整备用服务器和主服务器上的内容。备用服务器在物理结构上与主服务器一致,而且可进行只读操作。

(2)逻辑备用数据库

Oracle9i引进了一种新的备用数据库机制——逻辑备用数据库。它与物理备用数据库在维护方式上不同。这两种类型的数据库都依赖日志文件,备用数据库从日志文件中推断出SQL语句,并以与任何常规的SQL命令集合一样的方式在备用服务器上应用这些SQL语句。

这种基于SQL的维护方法使得一个备用数据库可以提供一般的读写操作。

(3)零数据损失日志传输

Oracle9i Data Guard Broker提供了直接从主服务器到备用服务器同步或非同步更形日志文件的能力。这样就提供了完全“无损”的灾难恢复解决方案,而不必采用第三方产品来镜像在线重复操作日志。因此,在任何灾难恢复情况下,用户都可以确保他们的备用数据库完全更新到故障发生点。

(4)Data Guard Broker

Oracle9i Data Guard Broker对管理逻辑和物理备用数据库提供了必要的监视、控制和自动操作。例如,Oracle9i Data Guard Broker对主服务器和任一类型的备用数据库提供了故障恢复处理的单步操作。

2.系统故障恢复

Oracle9i Real Application C1usters在群集数据库技术引入重大突破。被称为“高速缓存熔接”的技术使系统既提供了透明应用程序扩展,又为数据和应用的高度有效性提供了超快速的故障恢复。

(1)Real Application C1usters——17秒排除故障

群集体系结构与单节点配置相比,避免了故障集中,能提供更高水平的有效性。在一个双节点群集配置的服务器中,即使一个节点系统崩溃,也允许应用在幸存的节点上继续运行。

使用Oracle9i Real Application Clusters,从第一节点发生故障到自动在第二节点上恢复操作仅仅需要17秒的时间,这就减小了对数据和应用有效性的影响,实质上是消除了对数据和应用有效性的影响。

(2)Oracle9i Fail Safe——支持Windows的四节点故障恢复配置

Oracle9i Fail Safe对Window NT和2000群集体系结构上的电子商务提供高有效性和系统故障保护。Oracle9i自动故障防护装置对双节点和四节点的Windows NT、2000群集数据和应用服务器都提供了故障恢复程序。

(3)基于时限的快速启动恢复

Oracle9i引入的基于时限的快速启动恢复,允许数据库管理员对恢复时间指定一个目标上限值。在系统崩溃或者在发生故障重启动后,用户在不到目标上限的时间内就能够重新连接到他们的应用程序。

(4)快速实例冻结和恢复

数据库管理员普遍面临这样的挑战——如何在尽可能快地确认故障原因和恢复常规服务之间进行权衡。通过激活“瞬间冻结”(Flash Freeze),数据库管理员可以获得故障时刻整个系统地诊断快照,快速重启动之后,再进行离线诊断分析。

3.人为过失

Oracle9i使得恢复包括错误操作和不按程序操作等人为原因造成故障的恢复变得容易。

(1)Oracle9i闪回查询(Flashback Query)。

通过Oracle9i的一项创新性能——闪回查询,使用者和应用程序能够查询数据,与它们在过去的时刻一样。使用闪回查询参数,用户和应用可以及时指定一个日期,然后对数据执行标准查询,结果就像是在指定日期查询一样。一旦错误确定之后,取消更新就是相对简单的步骤,而且数据库管理员不必介入就能完成。更重要的是应用程序不必停工就能完成恢复。

(2)全面的日志分析

通过分析数据库日志文件也可以完成对数据更新的鉴定。Oracle9i LogMiner是相关的实用程序,通过SQL接口读取、分析和解释执行在线或已获取的日志文件。使用Oracle9i LogMiner,数据库管理员就可以对包括数据操作、定义和管理命令在内的数据库更新进行测试。

(3)可恢复声明

某些大的、执行时间很长的操作,例如数据上载和复杂的更新过程可能在完成之前就已经耗尽了资源(例如磁盘空间)。长时间运行而没有成功结束的操作可能会耗费旷日持久的时间。Oracle9i通过允许数据库管理员挂起不可能完成的操作来处理这个问题。一旦操作被挂起,数据库管理员就可以解决资源问题,然后允许语句从断点处恢复。

4.减少计划停工

Oracle9i允许通常需要停工的全计划维护操作在正常使用期内运行。

(1)在线架构修改

Oracle9i提供的机制允许在保持数据表在线和完全为用户和应用所访问时,重新定义表结构。

(2)在线重组表和索引

Oracle9i也提供一个简单的机制,在保持在线和应用程序使用者可访问的同时重新组织和定义数据表。Oracle9i的在线表及索引重新组织减少了计划性停工,提高了应用程序的有效性,减少磁盘碎片,并提高了应用程序性能。

(3)完全在线索引操作

使用Oracle9i,所有的表索引可以在线创建和重新创建。如果没有这种性能,在创建表索引时,用户是被禁止运行他们的应用程序的。

(4)动态数据库参数

Oracle9i数据库中影响数据库服务器使用内存量的参数,现在可以在线重新设置。这样就无需为使参数设置生效而将数据库离线并重启。

小结

Oracle中的文件有3种类型:数据库文件、控制文件、重做日志。其中数据文件中存储实际的数据,控制文件中存储有关数据库状态的信息,重做日志文件记录了所有对用户对象和系统对象所做的变更。

Oracle实例有两种类型:单进程实例和多进程实例。在多进程系统中,进程分为两类:用户进程和Oracle进程。Oracle进程又分为两类:服务器进程和后台进程。Oracle中4个必须启动的后台进程是:DBWR(数据库写)、LGWR(日志写)、SMON(系统监控)、PMON(进程监控)。

操作系统为上述进程分配的内存结构有两部分:系统全局区(SGA)和程序全局区(PGA)。

运行在客户机上的用户进程和运行在服务器上的服务器进程是同时运行的,操作系统将为这些进程分配专有的内存区域用于它们之间的通信,这个专有的内存区就叫着系统全局区。

在系统全局区里根据其功能的不同,又分为四个部分:数据块缓冲区、字典缓冲区、重做日志缓冲区、SQL共享池。

PGA是存储区中被单个用户进程所用的内存区域,是用户进程私有的,不能共享。主要存放的是单个进程工作时需要的数据和控制信息,其中包括进程会话变量和内部数据等。

(杨 珂 袁立华)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈