Chinaunix首页 | 论坛 | 博客
  • 博客访问: 659320
  • 博文数量: 163
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1625
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-24 11:40
个人简介

资深Oracle数据库专家 OCM认证大师 10年数据库相关服务及开发经验 各类数据库相关方案的编写,管理及实施 数据中心数据库日常运维、大型项目割接、性能优化等方面有丰富的实战经验 客户包括: 电信,银行,保险,航空,国网,汽车,烟草等 想要一起学习探讨数据安全技术的请加qq群 256041954

文章分类

全部博文(163)

文章存档

2017年(2)

2016年(112)

2015年(38)

2014年(11)

我的朋友

分类: Oracle

2016-04-18 17:24:45

12c新特性 - Active Data Guard Far Sync



概述

================

Active Data Guard Far Sync是Oracle 12c的新功能(也称为Far Sync Standby),Far Sync功能的实现是通过在距离主库(Primary Database)相对较近的地点配置Far Sync实例,主库(Primary Database) 同步(synchronous)传输redo到Far Sync实例,然后Far Sync实例再将redo异步(asynchronous)传输到终端备库(Standby Database)。这样既可以保证零数据丢失又可以降低主库压力。Far Sync实例只有密码文件,init参数文件和控制文件,而没有数据文件。

如果redo 传输采用Maximum Availability模式,我们可以在距离生产中心(Primary Database)相对较近的地点配置Far Sync实例,主库(Primary Database)同步(synchronous)传输redo到Far Sync实例,保证零数据丢失(zero data loss),同时主库和Far Sync距离较近,网络延时很小,因此对主库性能影响很小。然后Far Sync实例再将redo异步(asynchronous)发送到终端备库(Standby Database)。

如果redo 传输采用Maximum Performance模式,我们可以在距离生产中心(Primary Database)相对较近的地点配置Far Sync实例,主库(Primary Database) 异步传输redo到Far Sync实例,然后Far Sync实例再负责传输redo到其他多个终端备库(Standby Database)。这样可以减少主库向多个终端备库(Standby Database)传输redo的压力(offload)。

Far Sync配置对于Data Guard 角色转换(role transitions)是透明的,即switchover/failover命令方式与12c之前相同。

考虑到可能发生Data Guard 角色转换,即switchover/failover,可以在距离备库较近的地方也配置Far Sync实例,这个Far Sync实例只有在当前的备库切换为主库后才启用。

考虑到Far Sync实例的单点故障,可以在距离主库交近的地点配置2个Far Sync实例,起到备用的作用。

本文重点是测试Far Sync安装配置。

Far Sync示意图

================

创建配置Far Sync

================

1. 创建Data Guard,方法与11.2相同,详细过程参考《Active Database Duplication for A standby database

2. 创建配置Far Sync实例,Far Sync实例只有密码文件,init参数文件和控制文件,而没有数据文件。

创建Far Sync实例的控制文件,在主库执行:

SQL> ALTER DATABASE CREATE FAR SYNC INSTANCE CONTROLFILE AS '/tmp/controlfs01.ctl';

3. 设置主库redo同步传输到Far Sync实例,修改主库LOG_ARCHIVE_DEST_2参数:

LOG_ARCHIVE_DEST_2='SERVICE=dg12cfs SYNC AFFIRM MAX_FAILURE=1 ALTERNATE=LOG_ARCHIVE_DEST_3

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg12cfs'

4. 设置Far Sync实例异步传输redo到备库,修改Far Sync实例LOG_ARCHIVE_DEST_2参数:

LOG_ARCHIVE_DEST_2='SERVICE=dg12cs ASYNC

VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=dg12cs'

5. 为了解决Far Sync实例的单点故障,可以在距离主库较近的地点配置2个Far Sync实例。

6. 创建完成后确认:

SQL> select * from  V$DATAGUARD_CONFIG;

DB_UNIQUE_NAME       PARENT_DBUN       DEST_ROLE         CURRENT_SCN     CON_ID

------------------------------ ------------------------------     ----------------- ----------- ----------

dg12cfs                        dg12cp          FAR SYNC INSTANCE      682995          0

dg12cs                         dg12cfs         PHYSICAL STANDBY       682995          0

dg12cp                        NONE             PRIMARY DATABASE      683138          0

阅读(1772) | 评论(0) | 转发(0) |
0

上一篇:Oracle12c 研究测试

下一篇:Oracle12c分区测试

给主人留下些什么吧!~~