`
gaojingsong
  • 浏览: 1154110 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

DataGuard

 
阅读更多

DataGuard是甲骨文推出的一种高可用性数据库方案,在Oracle 8i之前被称为Standby Database。从Oracle 9i开始,正式更名为Data Guard。它是在主节点与备用节点间通过日志同步来保证数据的同步,可以实现数据库快速切换与灾难性恢复。Data Guard只是在软件上对数据库进行设置,并不需要额外购买任何组件。用户能够在对主数据库影响很小的情况下,实现主备数据库的同步。而主备机之间的数据差异只限于在线日志部分,因此被不少企业用作数据容灾解决方案。

2.1 物理standby

2.2 逻辑standby

3服务
4三种保护模式
1概述DataGuard是一种数据库级别的HA方案,最主要功能是冗灾、数据保护、故障恢复等。
DataGuard是生产数据库的"事务一致性copy",创建时,使用生产库的物理copy.创建完成后,备库会通过生产库传输过来的归档日志(或重做条目)自动维护备用数据库。将重做数据应用到备用库。


2类型

DataGuard分为"物理standby"和"逻辑standby"
物理standby
主备库之间物理结构,逻辑结构保护一致。通常情况下备用库通过主库传输过来的归档日志做恢复。
基于"块对块"方式。与主数据库相同。物理standby等同于生产库。物理standby能以read only方式打开(或者在flashback数据库下以"读写方式打开")。
物理standby一旦以"读写"方式打开,备用库将不会从主数据库接受重做数据。只有当备库flashback到过去的点,当备用库flashback到"读写"打开时间点前的状态时,DataGuard会自动同步备库与主库。才能回复standby角色。
逻辑standby
只保证逻辑结构与主库一致。备用库要处于打开状态,通过从主库归档日志文件中提取出来的SQL语句做恢复。
创建时,与物理standby一样,使用主库copy.
逻辑备库通过执行SQL语句来更新。DataGuard转换日志文件中的数据为SQL语句,然后在逻辑standby上执行SQL语句.因为逻辑standby是通过SQL语句来实现数据同步,那么在同步期间其必须保持打开状态。


3服务

1.重做传输服务
控制重做数据从生产机传输到一个或多个备用库。
2.日志应用服务
2.1 生产库上通过ARCH进程生成归档日志文件,然后传输到备用库,备用库再从归档日志中恢复数据
2.2 实时模式时,生产库上的操作通过LGWR进程实时反映在备用库的备用日志文件中,备用库从备用日志文件实时恢复数据。


3.角色切换
主备库用户角色的切换。


4三种保护模式

1.最大保护
这种模式主备库之间数据是同步的。即主库提交的同时,备库会做相应的恢复。最大限度的保证了数据完整性。不允许数据的丢失。
如果主备库之间网络,或者备库出现问题会直接影响主库操作。导致主库当机。
2.最大可用性
这种模式和"最大保护"基本上差不多。正常情况下,主备库之间是同步的。
当网络或者备库出现问题时,不会影响到主库的当机,主库会自动转换库"最大性能"模式,等待备库可用时,将归档传输到备库做恢复。
可以把这种模式理解为"最大保护"和"最大性能"两种模式的中间体。
3.最大性能
这种模式保证主库性能最大化,主备库之间数据是异步传输的。即,主备日志归档以后才会传输到备用库,在备库上使用归档日志文件做恢复操作。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics