1 / 12
文档名称:

算法分析与设计-朱大鸣-算法设计与分析-7.ppt

格式:ppt   大小:212KB   页数:12页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

算法分析与设计-朱大鸣-算法设计与分析-7.ppt

上传人:Q+1243595614 2017/10/18 文件大小:212 KB

下载得到文件列表

算法分析与设计-朱大鸣-算法设计与分析-7.ppt

文档介绍

文档介绍:Oracle GoldenGate 容灾、双业务解决方案
双向复制的实现
两单机、RAC集群服务器之间在非计划停机时保持业务连续性,在高可用基础上分担业务负载。
双向复制的优缺点
优点:
,快速回复和切换到另一端,不影响用户正常使用。
,支持断点续传,最小化数据损失。
,提高系统整体性能。
缺点:必须区分两端数据库的业务,否则任何一端数据被更改对系统都会受影响,
双向复制详细配置
双向复制系统架构如下:
双向复制的注意点

双向复制中,最主要的问题是需要防止数据的循环应用。在GoldenGate中,需要从两方面进行预防:
(1)防止Extract进程抓取Replicat进程的SQL操作。
在默认配置下,GoldenGate的Extract进程会忽略捕获由Replicat执行的SQL操作(Teradata除外,需要进行额外配置),所以这部分一般不需要额外设置。
(2)使Extract进程识别本地Replicat执行的DML事务,并进行忽略。
这步在Oracle(10g and later)中的配置为在Extract进程加入参数:
TRANLOGOPTIONS EXCLUDEUSER <user name> 进行排除。
不同的数据库这里需要配置的参数不同。如果是Oracle 9i或之前的版本,需要配置tracetable。

由于是双向复制,那么当两端都对同一数据进行操作时,就会发生冲突。比如同时对某行数据进行修改,修改的操作将会被覆盖(视LAG以及事务的先后);又比如两端插入或删除相同键值的数据。
对于这类数据冲突,最好是在业务应用层解决。比如,可以划分两端数据库应用的业务范围,一部分数据只在一端修改维护,另一端则修改维护其他数据;在两端定义不同的键值生成策略;关注同步表上的触发器和on delete cascade约束。也可以借助GoldenGate的映射和过滤功能,对于两端同步的数据进行区分。
总之,在配置双向复制环境时,需要综合考虑当时业务情况,一般都需要在应用层进行适当的修改,以防止数据冲突带来的数据丢失和不一致。
双向配置示例
这个示例中,gatedba用户作为GoldenGate专用用户,gate01和gate02分别为两端数据库需要同步的schema(也可以同名,这里是为了便于区别),通过在两端Extract中配置排除gatedba的操作防止循环应用。以下gate01结尾的进程均在gate01用户所在数据库,gate02结尾的进程均在gate02用户所在数据库。
软件准备:



-director-serversetup_win_v11_1_1_1_0_001
-director-clientsetup_win_v11_1_1_1_0_001
==============================
Oracle DataaBase
添加用户
Oracle GoldenGate Director 专用
database user: ggserver/ggserver11
配置
alter database add supplemental log data;
alter database add supplemental log data (primary key,unique,foreign key) columns;
GoldenGate
专用
gatedba/gatedba
测试用户
gate01/gate01
=====================
步骤:

2.
***************Gate01 服务器添加GoldenGate 进程***************
dblogin userid gatedba,password gatedba
start mgr
edit param extgate1
/***
extract extgate1

userid gatedba,password gatedba
exttrail C:\ggs_Windows_x86_ora10g_32bit\dirdat\e1
tranlogoptions excludeuser gatedba
dynamicresolution
gettru