Oracle DataGuard学习笔记(1)DataGuard简介 1.什么是Oracle DataGuard(DG). Oracle DataGuard是一个主从
数据库间同步复制的工具,并且主从
数据库能相互切换,确保企业数据的高可用性,数据保护以及灾难恢复. 2.Oracle DataGuard的体系结构(Primary,Standby主从结构). Data Guard由一个主
数据库(Primary),一个或多个备用
数据库(Standby)组成。 Data Guard将主
数据库(Primary)的重做日志传递给备用
数据库(Standby),然后在备用
数据库(Standby)中应用重做日志实现
数据库的同步。 Data Guard
数据库可以分布在不同地域,
数据库间通过网络连接,典型的应用是一个主
数据库用于生产环境,一个备用
数据库用于本地容灾,一个备用
数据库用于异地容灾. 3.Data Guard的主从结构特点. (1).主
数据库(Primary): 主
数据库一般用于生产环境,可以是单实例
数据库,也可以是RAC. (2).备
数据库(Standby). 物理Standby: 物理Standby提供与主
数据库完全一样的拷贝(块到块),
数据库SCHEMA,
包括索引都是一样的,它是直接应用重做日志实现同步的。 逻辑Standby: 逻辑Standby逻辑信息是相同的,物理组织和数据结构可以不同,它和主库保持同步的
方法是将接收的重做日志转换成
sql语句,然后在Standby上执行
sql语句。逻辑Standby除灾难恢复外还可以做其它用途,如
统计分析报表等。 4.Data Guard的三个服务(日志传输、日志应用、角色转换). (1).日志传输(Redo Transport Services) 日志传输服务控制REDO数据的传输(传输日志,实施
数据库保护模式),在主库(Primary)上启用LNS进程传输REDO数据,在备库(Standby)上启用RFS进程接收REDO数据。 (2).日志应用(Log Apply Services) 日志应用服务则一方面
自动应用日志,另一方面
自动检测Standby缺少的REDO,并从主
数据库或其它STANDBY中
自动查询出丢失的REDO. (3).角色转换(Role Transitions) 角色转换就是让
数据库在主库和备库这两个角色中切换,切换方式有两种: switchover和failover. switchover: 主库与备库相互调换,switchover可以确保
不会丢失数据。 failover: 当备库出现故障并且不能被及时恢复时,可以用failover转换将一个standby
数据库转换为新的primary
数据库。在最大保护模式或最最可用性模式下,failover可以保证
不会丢失数据。 重做日志(Redo Logs)
分类: Online Redo Logs: 联机重做日志 Archived Redo Logs: 归档重做日志 Standby Redo Logs: Standby重做日志 5.Data Guard的保护模式(最大保护,最大可用,最高
性能). (1).最大保护(Maximum protection): 是指除非REDO在至少一个STANDBY中应用,否则事务不能提交。如果在某个STANDBY中不可用,则主
数据库的操作被停止。
性能不佳,在生产环境中不常用。 (2).最大可用(Maximum availability): 是指如果STANDBY不可用,主
数据库仍然可以处理事务,只是在问题被纠正后,STANDBY和主
数据库进行再同步。当再同步之前有FAILOVER时,有些数据可能会丢失。 (3).最高
性能(Maximum performance): 是指主
数据库的提交操作不等待STANDBY。
性能最高,但数据保护级别较低。 最大保护及最高可用性需要至少一个standby
数据库redo数据被同步写入。