GoldenGate_Oracle数据分发解决方案——广播复制配置
Oracle GoldenGate 数据分发解决方案
广播复制的实现
数据仓库数据实时更新,对源数据库影响较低。
广播复制的优点
连续可用,快速容灾切换。有效的提升商务智能和信息分析能力,实时可用的数据仓库。负载均衡,提高系统的整体性能。
一对多数据同步(广播复制)
一对多数据同步实现架构:
GoldenGate对于多对一的实现方式,就是对于同一个源建立多个提取进程同步进行,也就是说,对应不同的目标端,分别配置同步进程进行同步。配置过程与前面是一样的。
这里的多个目标端,有可能对应不同的数据库,也有可能是同一个库中的不同对象。如果是同步到同一个库中的不同对象,除了分别配置同步进程以外,有时候也可以在一个进程中完成。
软件准备:
1.Oracle10.2.0.1
2.ggs_Windows_x86_ora10g_32bit
3.wls1033_win32
4.gg-director-serversetup_win_v11_1_1_1_0_001
5.gg-director-clientsetup_win_v11_1_1_1_0_001
==============================
Oracle DataaBase
添加用户
Oracle GoldenGate DirectorServer11.1.1.1.0_001 专用
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
Oracle Database同步用户,表结构相同,数据一致
生产服务器Gate1: gate01/gate01
备份服务器Gate2: gate02/gate02
备份服务器Gate3: gate03/gate03
=====================
步骤:
1.安装ggs_Windows_x86_ora10g_32bit
2.Add GoldenGate Proccess
***************Gate01 服务器***************
dblogin userid gatedba,password gatedba
start mgr
edit param extgate1
/***
extract extgate1
userid gatedba,password gatedba
exttrailC:\ggs_Windows_x86_ora10g_32bit\dirdat\e1
tranlogoptions excludeuser gatedba
dynamicresolution
gettruncates
TABLE gate01.*;
***/
add extract extgate1,tranlog,begin now
add exttrail C:\ggs_Windows_x86_ora10g_32bit\dirdat\e1,extract extgate1
####DataPump: gate01 to gate02
edit param pp1
/***
extract pp1
userid gatedba,password gatedba
rmthost 192.168.64.101,mgrport7809,compress, COMPRESSTHRESHOLD 0
rmttrail C:\ggs_Windows_x86_ora10g_32bit\dirdat\rep\e1
PASSTHRU
gettruncates
table gate01.*;
***/
add extract pp1,exttrailsourceC:\ggs_Windows_x86_ora10g_32bit\dirdat\e1,begin now
add rmttrail C:\ggs_Windows_x86_ora10g_32bit\dirdat\rep\e1, extract pp1
####DataPump: gate01 to gate03
edit param pp2
/***
extract pp2
userid gatedba,password gatedba
rmthost 192.168.64.102,mgrport7809,compress, COMPRESSTHRESHOLD 0
rmttrailC:\ggs_Windows_x86_ora10g_32bit\dirdat\rep\e1
PASSTHRU
gettruncates
table gate01.*;
***/
add extract pp2,exttrailsourceC:\ggs_Windows_x86_ora10g_32bit\dirdat\e1,begin now
add rmttrail C:\ggs_Windows_x86_ora10g_32bit\dirdat\rep\e1, extract pp2
***************Gate02 服务器********************
dblogin userid gatedba,password gatedba
start mgr
edit param repgate1
/***
replicat repgate1
userid gatedba,password gatedba
ASSUMETARGETDEFS
reperror default,discard
discardfile C:\ggs_Windows_x86_ora10g_32bit\dirrpt\repgate1.dsc,append,megabytes200
gettruncates
HANDLECOLLISIONS
MAP gate01.*, TARGET gate02.*;
***/
add replicat repgate1,exttrailC:\ggs_Windows_x86_ora10g_32bit\dirdat\rep\e1, nodbcheckpoint
***************Gate03 服务器********************
dblogin userid gatedba,password gatedba
start mgr
edit param repgate2
/***
replicat repgate2
userid gatedba,password gatedba
ASSUMETARGETDEFS
reperror default,discard
discardfileC:\ggs_Windows_x86_ora10g_32bit\dirrpt\repgate2.dsc,append,megabytes 200
gettruncates
HANDLECOLLISIONS
MAP gate01.*, TARGET gate03.*;
***/
add replicat repgate2,exttrail C:\ggs_Windows_x86_ora10g_32bit\dirdat\rep\e1,nodbcheckpoint
===============================
3.安装Oracle Golden Gatedirector Server
oracle database :
ggserver/ggserver11
4.安装Oracle Golden Gatedirector client
一对多配置框架如下图所示:
登陆帐户:
username:admin
password:admin
server: 192.168.64.100:7001
5.配置Oracle GDSC AdminTool
登陆帐户:
username:admin
password:admin
添加DataSource : gate01为例, gate02, gate03同样配置
host identity:
fully qualified domain name:192.168.64.100
manager port: 7809
data source name gate01--自定义别名,用来区分数据库
GoldenGate info:
Host operating system:WU
Database:ORA
Goldengate version:11.1.1.1
Default DB Credentials:
DSN: --没有Host解析不填
Username: gatedba --专用
password: gatedba
Access Control
owner: admin
Hostis observale: yes
比如,可以在复制端如此配置:
/***
REPLICAT rep146e1
USERID coss3,PASSWORD coss3
assumetargetdefs
REPERROR default,discard
DISCARDFILEd:\ggoracle\log\rep146e1.dsc,append,megabytes 200
HANDLECOLLISIONS
MAP ddw.test, TARGET ddw.test1;
MAP ddw.test, TARGET ddw.test2; --同一张表同时对应多个表
MAP ddw.test, TARGET ddw.test3;
***/
当然,如果同步数据负载较大的情况下,还是建议在进程级别分开。