Oracle9i Data Guard 通过使用称为standby database的数据库来防止出现数据的灾难

  • 格式:doc
  • 大小:37.50 KB
  • 文档页数:5

Oracle9i Data Guard 通过使用称为standby database的数据库来防止出现数据的灾难。

他通过将primary database数据库的重做日志传到并应用到standby database数据库来使standby database数据库和primary database数据库同步:能将重做日志直接从primary database数据库同步写到standby database数据库来完成完全没有数据损失的灾难保护。

这会给primary database数据库的性能带来一定的性能损失。

能将归档的重做日志从primary database数据库异步写到standby database数据库来使primary database数据库在极少损失性能的前提下,最小化地减少数据的丢失。

如果重做日志数据到达standby database数据库后快速应用到standby database数据库,则在primary database 数据库出现问题时能快速地failover 到standby database数据库。

然而,如果延缓一定时间后再应用重做日志数据,能避免primary database数据库的错误快速地传播到standby database数据库。

数据库数据保护级别能用如下的方式设置standby database数据库来达到不同的数据库数据保护级别:Guar anteed protection:规定在修改主数据库时,至少有一个备用数据库有效。

如果主(P r imary Database)备(Standby Database)之间的连接中断,Oracle会通过中断主实例的工作来防止主备数据库之间的数据的不一致,确保无数据丢失。

这种模式对数据库性能的影响较大。

Instant protection:规定在修改主数据库时,至少有一个备用数据库有效。

和Guaranteed protection模式不同的是当主备数据库之间的连接中断时,允许主备数据库之间的数据的不一致,并当恢复连接后,解决数据不一致的现象。

这种模式对主数据库的性能有较小的影响。

Rapid protection:主数据库的修改快速应用在备用数据库上。

会出现数据丢失,但对数据库性能的影响小。

Delayed protection:主数据库的修改在延迟一定的时间后应用在备用数据库上。

Rapid protection和Delayed protection模式即使在网络连接有效时,也允许主数据库和所有的备用数据库有数据分歧,数据的丢失量等同于主数据库联机重做日志的未归档数。

这种方式对数据库性能的影响小。

怎么限制数据的丢失量在primary/standby设置下,所有的归档日志被发送到了standby 节点,这使standby 节点的数据保持着更新。

不过,如果primary 数据库意外关闭,联机的日志将会丢失,因为他们尚未归档并发送到standby节点。

这使得primary 和standby 数据库之间会有一个差异。

Oracle9i 能用以下的方法来限制这个差异:DBA能选择让LGWR在将重做日志数据写到本地磁盘的同时将数据发送到standby 数据库。

该功能称为standby零数据丢失(standby zero data loss)。

这种方法从本质的角度讲提供了远程重做日志映像,但带来的问题是会极大地损失性能。

设置系统初始化参数A RCHIV E_LAG_TARGET。

该参数是个日志文件开始使用到被发送到standby数据库的时间间隔。

该参数的推荐值是1800秒(需要注意的是,没有传送到standby 数据库的已提交的事务会丢失,因此长的事务会使standby数据库损失更多的数据)。

Oracle9i Data Guard数据防护和Oracle8 Standby Database的关系Oracle Standby Database 是最经常使用的最有效的灾难解决方案。

在过去版本的基础上,Orac le9i 又进行了许多改进,使其功能远远超过了基本的灾难恢复需求。

通过将复杂的工作自动化,并对监视、警告、及控制机制的大规模改进,Standby Database 和一些新的模块能帮助DBA 从错误操作、瘫痪、及其他的灾难中恢复(这些灾难都可能毁掉数据库)。

另外,通过使用Oracle9i Standby Database,由于硬件和软件升级造成的宕机时间也能极度缩短。

Or acle9i 将改进过的8版本的Standby Database功能,和几个新增加的防止用户错误和瘫痪的模块合起来称为Orac le9i Data Guar d。

Oracle8 Automated Standby Database 提供了创建和自动维护生产数据库拷贝的手段来防止灾难的发生。

Oracle8 Automated Standby Database 具有以下的功能:当primary database 产生日志后,系统自动用归档日志更新standby databases。

一个primary database能最多有4个standby databases。

这4个standby databases是和primary database 完全相同的拷贝,他们都能接管primary database的处理。

Or acle使用标准的恢复方法来将归档日志应用到每个standby databases。

这些日志的应用是自动的,DBA 也能人工应用这些日志。

primary database 处于打开和活动状态,而standby database处于恢复或打开只读状态。

大多数的基于Orac le8的灾难保护方案包括一个Automated Standby Database。

因为Oracle数据库能用备份和日志恢复,所以所有应用都能使用Automated Standby Database。

通过Oracle Net传输归档日志对primary database的性能影响能忽略不计。

物理的Standby Database和逻辑的Standby DatabaseStandby Database能分为物理的Standby Database和逻辑的Standby Database:物理Standby Database。

物理Standby Database是Oracle8 Automated Standby Database的Orac le9i 版本。

他们之间只有一个差异:日志传输服务目前是个分离的模块,并支持物理standby database和新的逻辑standby database。

物理Standby Database的含义是Standby Database在物理上和primary database 相同。

因为恢复是使用ROWID 一块对一块进行的,Standby Database的数据块和primary database的数据快相同。

数据库模式一定是相同的,且不能以读/写的方式打开。

逻辑Standby Database。

逻辑Standby Database是将归档的日志转化为SQL事务,并将他们应用到打开的Standby Database。

因为数据库是打开的,他在物理上和primary database是不相同的。

然而,从逻辑角度讲,Standby Database和primary database是相同的,因此能接管primary database的处理。

在这种情况下,Standby Database还能并发地进行其他的工作,例如建立一些和pr imary database不相同的索引和物化视图,完成决策支持等任务。

逻辑Standby Database 是最重要的数据保护特性。

就像物理standby database相同,他使用归档的日志在standby database上进行处理,在primary database出现问题的情况下也没有问题。

当选择使用物理standby database、逻辑standby database、或两者都用时,要考虑以下一系列的因素。

逻辑standby database可用于两个目的。

当要对逻辑standby database进行改动时,其数据库能打开。

逻辑standby database需要DBA更高的技能。

使数据保护极大化的解决方案通常包括逻辑的和物理的standby databases。

数据库Failover和Sw itchover当主数据库发生宕机,且不能及时恢复时,Oracle会丢弃主数据库,将备用数据库转变为主数据库。

当failover 之后,备用数据库变成为主数据库,从而丢失了备用数据库的所有能力,也就是说,不能再返回到备用模式。

Failover 有以下特点:主数据库offline,备用数据库online,这种操作由系统和软件失败引起。

即使在备用数据库上应用重做日志,也可能出现数据丢失的现象,除非备用数据库运行在guaranteed protection模式下。

原主数据库重新使用时必须reinstantiated(start instance)。

其他的备用数据库也需reinstantiated。

在主数据库正常工作时,Oracle 允许DBA 将主数据库转换到备用数据库,此备用数据库变为主数据库,而原主数据库变为备用数据库。

数据库的转换能从主数据库角色转换到备用数据库角色,也可从备用数据库角色转换到主数据库角色。

Sw itchover 有以下特点:故意将主数据库offline,而将另一备用数据库online。

能如使用Sw itchover 功能完成系统的平滑升级工作。

即使在备用数据库上不应用重做日志,也不会造成数据的丢失。

数据库不需reinstantiated。

这使主数据库几乎能即时在备用数据库上恢复他的功能,因此可经常进行定期维护而不需中断操作。

Oracle9i Data Guard的一些部件日志传输服务(Log Transport Services)Log Transport Services会被物理的和逻辑的standby database 都用到。

他提供的功能包括控制不同的日志传输机制、日志传输错误处理和报告、及在系统失败后获取丢失的日志。

使用所有新的日志传输模式,数据的保护都能得到确保。

Oracle9i Data Guard BrokerData Guard broker提供了对日志传输服务的监测、控制、和自动化及逻辑和物理standby的部件。

例如,通过只用一个命令就能启动failover,Data Guar d broker可被用于控制主要角色从primary到所有一种standby database转移的整个过程。