golendgate(29)

golendgate(29)---goldengate架构之数据分发(data distribution)

系统架构:

整个系统架构是4台机器,两台机器组成dataguard库,主库发送日志到备库,备库只接受日志,不应用,属于数据分发中心,另外两台是复制数据。

该goldengate分发架构进程以及trail文件:

源端exract抽取进程一个,关联本地trail文件一个;

源端pump投递进程两个,关联相同的本地trail文件一个,关联目的端不同trail文件各一个;

目的端replicat复制进程两个,每一台一个,关联trail文件各一个。

例子:

ADD EXTRACT , EXTTRAILSOURCE , BEGIN
ADD EXTRACT , EXTTRAILSOURCE , BEGIN

ADD RMTTRAIL , EXTRACT
ADD RMTTRAIL , EXTRACT

Target_1
ADD REPLICAT , EXTTRAIL , BEGIN
Target_2
ADD REPLICAT , EXTTRAIL , BEGIN

配置简介:

配置dataguard库,这个配置不做介绍,goldengate配置在备库以及另外两台分发的数据库。主库作为日志传送端,备库作为日志接受端,也是源端,另外两台作为目的端,从源端复制相同的数据,这个两台机器一台是linux平台,一台是windows平台,该台windows机器与源端作为异构复制。具体配置异构的文档请见我前面写的文档。

源端配置如下:

GGSCI (oggmiddle) 8> view params ./GLOBALS

GGSCHEMA ggs

GGSCI (oggmiddle) 9> view params mgr

PORT 7809
DYNAMICPORTLIST 7810-7820, 7830
AUTOSTART EXTRACT *
AUTORESTART EXTRACT *, RETRIES 4, WAITMINUTES 4
STARTUPVALIDATIONDELAY 5
PURGEOLDEXTRACTS /u01/app/oracle/ggs/dirdat/trail/cc*, USECHECKPOINTS, MINKEEPDAYS 5

 登陆到本地库添加extract进程

GGSCI (dbhouse) 5> dblogin userid ggs, password ggs sysdba
Successfully logged into database.
 GGSCI (dbhouse) 6> add EXTRACT s_ex_hr, tranlog, begin now
.
EXTRACT added.
GGSCI (dbhouse) 7> add exttrail /u01/app/oracle/ggs/dirdat/trail/cc, extract s_ex_mid
EXTTRAIL added.

GGSCI (oggmiddle) 10> view params s_ex_mid

EXTRACT s_ex_mid
-- SETENV (NLS_LANG = CHINESE_CHINA.ZHS16GBK)
SETENV (ORACLE_HOME = "/u01/app/oracle/product/11.2.0/dbhome_1")
SETENV (ORACLE_SID = "dbking")
USERID ggs@dbking, PASSWORD ggs
TRANLOGOPTIONS ARCHIVEDLOGONLY
-- TRANLOGOPTIONS ASMUSERsys@asm, ASMPASSWORD grid sysdba
TRANLOGOPTIONS DBLOGREADER
TRANLOGOPTIONS ALTARCHIVELOGDEST INSTANCE dbking /arch/archivelog
TRANLOGOPTIONS DBLOGREADERBUFSIZE 1048576
EXTTRAIL /u01/app/oracle/ggs/dirdat/trail/cc
TABLE gis_test.*;

GGSCI (dbhouse) 6> add extract pump_mid, EXTTRAILSOURCE /u01/app/oracle/ggs/dirdat/trail/cc
EXTRACT added.
GGSCI (dbhouse) 7> add RMTTRAIL C:\app\oracle\ggs\dirdat\mid\mm, extract pump_mid
RMTTRAIL added.

GGSCI (oggmiddle) 11> view params pump_mid

EXTRACT pump_mid
USERID ggs@dbking, PASSWORD ggs
RMTHOST 10.23.5.155, MGRPORT 7809
RMTTRAIL C:\app\oracle\ggs\dirdat\mid\mm
PASSTHRU
TABLE gis_test.*;

add extract pump_un, EXTTRAILSOURCE /u01/app/oracle/ggs/dirdat/trail/cc

RMTTRAIL added.

GGSCI (oggmiddle) 9> add RMTTRAIL /u01/app/oracle/ggs/dirdat/rtrail/pp, extract pump_un

RMTTRAIL added.

GGSCI (oggmiddle) 60> view params pump_un

EXTRACT pump_un
USERID ggs@dbking, PASSWORD ggs
RMTHOST 10.23.5.71, MGRPORT 7809
RMTTRAIL /u01/app/oracle/ggs/dirdat/rtrail/pp
PASSTHRU
TABLE gis_test.*;

GGSCI (oggmiddle) 12> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                          
EXTRACT     RUNNING     PUMP_MID    00:00:00      00:00:06   
EXTRACT     RUNNING     S_EX_MID    00:00:00      00:00:06   

目标端配置:

目标端之一:

GGSCI (pc-ggs) 4> view params ./GLOBALS
CHECKPOINTTABLE ggs.GGS_CHECKPOINT

GGSCI (pc-ggs) 5> view params mgr
PORT 7809
DYNAMICPORTLIST 7810-7820, 7830
AUTOSTART REPLICAT *
AUTORESTART REPLICAT *, RETRIES 4, WAITMINUTES 4
STARTUPVALIDATIONDELAY 5
PURGEOLDEXTRACTS  c:\app\oracle\ggs\dirdat\win\ww*, USECHECKPOINTS, MINKEEPDAYS
5
PURGEOLDEXTRACTS  c:\app\oracle\ggs\dirdat\mid\mm*, USECHECKPOINTS, MINKEEPDAYS
5

登陆到本地库添加checkpointtable

GGSCI (primary) 15> dblogin userid ggs,password ggs
Successfully logged into database.
GGSCI (primary) 16> add CHECKPOINTTABLE ggs.GGS_CHECKPOINT
Successfully created checkpoint table GGS.GGS_CHECKPOINT.


add REPLICAT rep_mid, EXTTRAIL c:\app\oracle\ggs\dirdat\mid\mm, CHECKPOINTTABLE ggs.GGS_CHECKPOINT

GGSCI (pc-ggs) 6> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING
REPLICAT    RUNNING     REP_MID     00:00:00      00:00:10

目标端之二:

GGSCI (primary) 6> create subdirs

GGSCI (primary) 10> view params mgr

PORT 7809
DYNAMICPORTLIST 7810-7820, 7830
AUTOSTART REPLICAT *
AUTORESTART REPLICAT *, RETRIES 4, WAITMINUTES 4
STARTUPVALIDATIONDELAY 5
PURGEOLDEXTRACTS /u01/app/oracle/ggs/dirdat/rtrail/pp*, USECHECKPOINTS, MINKEEPDAYS 5

登陆到本地库添加checkpointtable

GGSCI (primary) 11>  dblogin userid ggs,password ggs
Successfully logged into database.

GGSCI (primary) 12> add CHECKPOINTTABLE ggs.GGS_CHECKPOINT

Successfully created checkpoint table ggs.GGS_CHECKPOINT.

GGSCI (primary) 13> EDIT PARAMS ./GLOBALS

add REPLICAT rep_un, EXTTRAIL /u01/app/oracle/ggs/dirdat/rtrail/pp, CHECKPOINTTABLE ggs.GGS_CHECKPOINT

GGSCI (primary) 22> view params rep_un

REPLICAT rep_un
ASSUMETARGETDEFS
DISCARDFILE /u01/app/oracle/ggs/dirrpt/discard/rep.dsc, APPEND
USERID ggs, PASSWORD ggs
MAP gis_test.*, TARGET gis_test.*;

GGSCI (primary) 3> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                          
REPLICAT    RUNNING     REP_un      00:00:00      00:00:05   

测试:

源端插入数据

表wangkkk有主键,登陆远程主库添加表级别附加日志:

GGS>dblogin userid ggs@dbking, password ggs 

GGS>add trandata gis_test.wangkkk

insert into gis_test.wangkkk values (1,'c');

insert into gis_test.wangkkk values (2,'b');

insert into gis_test.wangkkk values (3,'b');

commit;

select * from gis_test.wangkkk;

1 1 a
2 2 b
3 3 c

目标端一复制到了数据

目标端二复制到了数据。

注意使用dblogin登陆数据库的时候,一会儿登陆本地,一会儿登陆远程,不要搞糊涂了。只有对表添加附加日志的时候 ,是登陆远程主库,因为你的表是在远程主库;其他一律是本地添加,例如:添加本地extract进程,添加本地复制进程,添加本地checkpinttable.

goldengate分发数据架构测试完成。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21266384/viewspace-757668/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21266384/viewspace-757668/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值