GoldenGate多对一复制解决方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GoldenGate多对一复制解决方案
刘占平
甲骨文(中国)软件系统有限公司2009年10月28日
目录
1多对一复制方案简介 (3)
2多对一复制方案实现过程 (3)
2.1同步表说明 (3)
2.2用户配置 (4)
2.2.1同步用户 (4)
2.2.2源数据库用户 (4)
2.2.3目标数据库用户 (4)
2.3源数据库1配置 (4)
2.3.1增加Primary Extract (4)
2.3.2增加Pump Extract (5)
2.3.3检查启动状态 (5)
2.4源数据库2配置 (6)
2.4.1增加Primary Extract (6)
2.4.2增加Pump Extract (6)
2.4.3检查启动状态 (7)
2.5目标数据库配置 (7)
2.5.1增加数据源1的Replicat (7)
2.5.2增加数据源2的Replicat (8)
2.5.3检查启动状态 (8)
3测试 (8)
1 多对一复制方案简介
多对一复制方案适用于从多个数据源向一个目标数据库进行数据汇总,如下图所示:
在GoldenGate中实现多对一方式和一对一方式类似,在目标数据库建立多个Replicate,分别对应不同的数据源即可。

在建立Replicat时,需使用不同的Trail id,以区分不同的数据源发过来的Trail。

对于多对一的方式,客户应用程序应保证不同的数据源的向目标传送的数据是不同的,否则将在目标端引发数据冲突。

多对一复制方案可应用于客户有特定复制需求的业务场景,具体实现过程见下面的描述。

2 多对一复制方案实现过程
2.1 同步表说明
本文以“TCUSTMER”表作为同步的数据库表。

建表脚本如下:
CREATE TABLE tcustmer
(
cust_code VARCHAR2(4),
name VARCHAR2(30),
city VARCHAR2(20),
state CHAR(2),
PRIMARY KEY (cust_code)
USING INDEX
);
2.2 用户配置
2.2.1 同步用户
该用户用于在GoldenGate中将源数据库中的数据同步到目标数据库,该用户必须能够访问源数据库用户和目标数据库用户下面的所有数据。

本文中以“gg_user”作为同步用户。

在本文样例中可以不用建立同步用户,推荐建立Goldengate专用的用户。

2.2.2 源数据库用户
本文中以“gg_src1”作为源数据库1用户,“gg_src2”作为源数据库2用户。

2.2.3 目标数据库用户
本文中以“gg_tgt”作为目标数据库用户。

2.3 源数据库1配置
2.3.1 增加Primary Extract
GGSCI > EDIT PARAMS EXTS1
EXTRACT EXTS1
USERID gg_user, PASSWORD gg_user
EXTTRAIL ./dirdat/co
TABLE gg_src1.TCUSTMER;
GGSCI > ADD EXTRACT EXTS1, TRANLOG, BEGIN NOW
EXTRACT added.
GGSCI > ADD EXTTRAIL ./dirdat/co, EXTRACT EXTS1,MEGABYTES 5 EXTTRAIL added.
2.3.2 增加Pump Extract
GGSCI > EDIT PARAMS EPMPS1
EXTRACT EPMPS1
PASSTHRU
RMTHOST 192.168.18.201, MGRPORT 7809
RMTTRAIL ./dirdat/co
TABLE gg_src1.TCUSTMER;
GGSCI > ADD EXTRACT EPMPS1, EXTTRAILSOURCE ./dirdat/co
EXTRACT added.
GGSCI > ADD RMTTRAIL ./dirdat/co, EXTRACT EPMPS1,MEGABYTES 5 RMTTRAIL added.
GGSCI > START EXTRACT EXTS1
Sending START request to MANAGER ('GGS') ...
EXTRACT EXTS1 starting
GGSCI > START EXTRACT EPMPS1
Sending START request to MANAGER ('GGS') ...
EXTRACT EPMPS1 starting
2.3.3 检查启动状态
查看Extract的状态,确保都正常运行
GGSCI > INFO ALL
Program Status Group Lag Time Since Chkpt MANAGER RUNNING
EXTRACT RUNNING EXTS1 00:09:08 00:00:00
EXTRACT RUNNING EPMPS1 00:00:00 00:01:08
2.4 源数据库2配置
2.4.1 增加Primary Extract
GGSCI > EDIT PARAMS EXTS2
EXTRACT EXTS2
USERID gg_user, PASSWORD gg_user
EXTTRAIL ./dirdat/ct
TABLE gg_src2.TCUSTMER;
GGSCI > ADD EXTRACT EXTS2, TRANLOG, BEGIN NOW
EXTRACT added.
GGSCI > ADD EXTTRAIL ./dirdat/ct, EXTRACT EXTS2,MEGABYTES 5 EXTTRAIL added.
2.4.2 增加Pump Extract
GGSCI > EDIT PARAMS EPMPS2
EXTRACT EPMPS2
PASSTHRU
RMTHOST 192.168.18.201, MGRPORT 7809
RMTTRAIL ./dirdat/ct
TABLE gg_src2.TCUSTMER;
GGSCI > ADD EXTRACT EPMPS2, EXTTRAILSOURCE ./dirdat/ct
EXTRACT added.
GGSCI > ADD RMTTRAIL ./dirdat/co, EXTRACT EPMPS2,MEGABYTES 5 RMTTRAIL added.
GGSCI > START EXTRACT EXTS2
Sending START request to MANAGER ('GGT') ...
EXTRACT EXTS2 starting
GGSCI > START EXTRACT EPMPS2
Sending START request to MANAGER ('GGT') ...
EXTRACT EPMPS2 starting
2.4.3 检查启动状态
查看Extract的状态,确保都正常运行
GGSCI > INFO ALL
Program Status Group Lag Time Since Chkpt MANAGER RUNNING
EXTRACT RUNNING EXTS2 00:09:08 00:00:00
EXTRACT RUNNING EPMPS2 00:00:00 00:00:08 2.5 目标数据库配置
2.5.1 增加数据源1的Replicat
GGSCI > ADD REPLICAT REPCO, EXTTRAIL ./dirdat/co
REPLICAT added.
GGSCI > EDIT PARAM REPCO
REPLICAT REPCO
USERID gg_user, PASSWORD gg_user
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/REPCO.DSC, PURGE
MAP gg_src1.tcustmer, TARGET gg_tgt.tcustmer;
GGSCI > START REPLICAT REPCO
Sending START request to MANAGER ('GGS') ...
REPLICAT REPCO starting
2.5.2 增加数据源2的Replicat
GGSCI > ADD REPLICAT REPCT, EXTTRAIL ./dirdat/ct
REPLICAT added.
GGSCI > EDIT PARAM REPCT
REPLICAT REPCT
USERID gg_user, PASSWORD gg_user
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/REPCT.DSC, PURGE
MAP gg_src2.tcustmer, TARGET gg_tgt.tcustmer;
GGSCI > START REPLICAT REPCT
Sending START request to MANAGER ('GGS') ...
REPLICAT REPCT starting
2.5.3 检查启动状态
查看Replicat的状态,确保正常运行
GGSCI > INFO ALL
Program Status Group Lag Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REPCO 00:00:00 00:00:02
REPLICAT RUNNING REPCT 00:00:00 00:00:09
3 测试
以gg_src1登录源数据库,执行insert操作:
INSERT INTO tcustmer VALUES('SRC1','BG SOFTWARE CO.','SEATTLE','WA');
以gg_src2登录源数据库,执行insert操作:
INSERT INTO tcustmer VALUES('SRC2','BG SOFTWARE CO.','SEATTLE','WA');
以gg_tgt登录目标数据库,验证执行结果。

相关文档
最新文档