Oracle Active DataGuard
数据同步复制技术方案
一、概述
Oracle Active Data Guard是Oracle 11g版本推出的新功能。该功能可以实现数据库读写分离。
Active Data Guard
Oracle
从底层技术上实现了在日志恢复数据的同时可以用只
Data
读的方式打开数据库,用户可以在备用数据库上进行查询、报表等操作,这类似逻辑Guard备用数据库的功能(查询功能方面),数据同步的效率更高、可以更大程度地发挥物理备用数据库的硬件资源的效能。
Active Data Guard用于维护 Oracle 数据库的单独、同步物理副本,从而实现Active Data Guard
支持高可用性(通过零数据丢失和
对硬件的资源要求更低。
HA/DR。
/或自动故障切换)和灾难恢复。并
且数据同步的效率更高、对硬件的资源要求更低。是一种有效可行的解决方案。
随着Oracle ADG的出现,Oracle在读写分离的支持上又得到进一步提升,可以在延迟很少的情况下提供读,而且不会出现复制错误或者数据不一致的问题。
Active Dataguard Reader Farm1.
架构至少存在以下优势:
管理维护简单,DBA只要熟悉Dataguard的管理即可,无需再额外学习其他方面的新知识;
2.Active Dataguard Reader Farm节点是灵活可扩展的,可以在线添加或者删除节
点,并且可以线性扩展而不对生产系统造成影响;3.4.5.
可以真正做到实时查询,不会应为大事务造成同步阻塞,性能有保障;没有数据类型的限制;
高可用性,节点的宕机都不会影响到数据库的可用性。
二、Active Data Guard基本原理
Oracle Active Data Guard 系统架构如下:
Active Data Guard 应用主库传输过来的
的同步是通过standby数据库对主数据库文件的不断copy,不断
redo重做日志来保持和主库的物理结构一致。standby数据库分为物
理standby和逻辑standby。主备库之间走的是钥加密,提供身份验证、加密和数据完整性。日志恢复数据的同时可以用只读的方式打开数据库,表等操作。
SSL协议,SSL使用RSA公钥密码和对称密Active Data Guard
从底层技术上实现了在
报
用户可以在备用数据库上进行查询、
Oracle Active Data Guard 包括一个生产数据库,也称为主数据库,以及一个或多个备用数据库,这些备用数据库是与主数据库在事务上一致的副本。数据保持这种事务一致性。日志文件中。通过
当主数据库中发生事务时,
Data Guard 利用重做
则生成重做数据并将其写入本地重做
Oracle Active Data Guard,还将重做数据传输到备用站点上,并应用
Oracle Active Data Guard 允
到备用数据库中,从而使备用数据库与主数据库保持同步。许管理员选择将重做数据同步还是异步地发送到备用站点上。
备用数据库的底层技术是
Oracle Active Data Guard 重做应用(物理备用数据库)
并且使用
Oracle
。
物理备用数据库在磁盘上拥有和主数据库逐块相同的数据库结构,恢复进行更新。
介质
三、Active Data Guard软硬件需求
1.硬件及操作系统需求
系统平台
硬件配置
操作系统
存储异构
同一个Data 不同服务器的硬件配置可以不同,比如cpu ,内存,存储设备,
必须一致,不过操作系统版本可以略有差异,比如(linux
支持
Gurid 配置中的所有
oracle
数据库必须运
primary 数
据库VSstandby 数
据库
行于相同的平台。比如inter 架构下的32 位linux 以与
系统可inter
架
但是必须确保standby 数据库服务器有足够的磁盘空间用来接收及应用redo 数据
as4&linux as5),primary 数据库和standby 数据库的目录路径可以不同
构下的32 位linux
系统组
Data
成一组
Guard。64 位HP-UX 也可以与32 位HP-UX 组成一组Guard
2.
软件需求
Active Data Guard
作为Oracle 企业版一个特性功能,标准版不支持。而且作为
Oracle Rac组件),需要单独收取费用。
COMPATIBLE 的值必须相同。
primary 数据库上打开
redo 造成对应的操作
Data
Oracle软件的单独组件(类似
同一个Data Guard 配置中所有数据库初始化参数:Primary 数据库必须运行于归档模式,并且务必确保在FORCE LOGGING,以避免用户通过无法传输到standby 数据库。
Primary 和standby 数据库均可应用于单实例或guard 配置可以混合使用逻辑
nologging
等方式避免写
RAC架构下,并且同一个data
standby 和物理standby。
Primary 和standby 数据库可以在同一台服务器,但需要注意各自的数据文件存放目录,避免重写或覆盖。
使用具有sysdba系统权限的用户管理
primary和standby 数据库。
ASM/OMF 的话,那不分
建议数据库必须采用相同的存储架构。比如存储采用primarty
或是standby也都需要采用
ASM/OMF。
各服务器的时间设置,时区/时间设置需一致。
四、Active Data Guard工作模式
Oracle Active Data Guard 有MAX PERFORMANCE,MAX AVAILABILITY, MAX PROTECTION三种数据保护模式:
模式最高保护
数据丢失风险
零数据丢失
双重故障保护
传输同步
如果备用数据库未提交任何确认
仅当从备用数据库收到已将事务的重做硬化到磁盘的确认后,才向应用程序发送提交成功信号。
最高可用性
零数据丢失
单重故障保护
同步快速同步远程同步
最高性能
可能有极小的数据丢失风险
异步
仅当收到备用数据库的确认后,或超出阈值期限后,才向应用程序发送提交成功信号,两者取其先
主数据库从不等待备用数据库的确认,而是直接向应用程序发送提交成功信号。
五、Active Data Guard物理架构
Oracle Active Data Guard应用于单实例或
1.
支持多种物理架构模式,Primary 和standby 数据库均可
RAC架构下。目前采用较多的物理架构模式有如下两种:
主机数据库(RAC)+备机数据库(DG单机)+同磁盘阵列: