zl程序教程

您现在的位置是:首页 >  其他

当前栏目

ogg异构数据同步初始化的2中方法

同步方法数据 初始化 OGG 异构
2023-09-27 14:20:52 时间

下面以源端是oracle,目的端是mysql为例

 

#########################抽取数据不落地#################################

源端oracle:

GGSCI (host01) 4> ADD EXTRACT EINI_1, SOURCEISTABLE
EXTRACT added.

GGSCI (db.cn.oracle.com) 3> EDIT PARAMS EINI_1

EXTRACT EINI_1
SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
USERID goldengate, PASSWORD goldengate
RMTHOST 192.168.1.135, MGRPORT 7809
RMTTASK REPLICAT, GROUP RINI_1
TABLE hxl.metric; --这里数据量大的话还可以使用filter拆分多个抽取进程

 

目的端mysql

GGSCI (host02) 4> ADD REPLICAT RINI_1, SPECIALRUN
REPLICAT added.

GGSCI (host02) 5> EDIT PARAMS RINI_1

replicat RINI_1
sourcedefs /u01/goldengate19c_for_mysql/dirdef/defgen.prm
SETENV (MYSQL_UNIX_PORT=/opt/mysql5727/mysql.sock)
targetdb db_hxl@localhost:3306 userid goldengate, password mysql
reperror default, discard
discardfile ./dirrpt/RINI_1.dsc,APPEND,MEGABYTES 1000
MAP hxl.metric,TARGET db_hxl.metric;

 

在源端(oracle)启动抽取进程,会自动启动目的端的应用进程

GGSCI (host01) 7> START EXTRACT EINI_1

Sending START request to MANAGER ...
EXTRACT EINI_1 starting

处理完成后源端和目的端的进程都会自动停掉

 

#########################抽取数据落地#################################

源端oracle
1.编辑初始化抽取进程参数

GGSCI>edit params ext_init

EXTRACT ext_init
SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
USERID goldengate, PASSWORD goldengate
RMTHOST 192.168.1.135, MGRPORT 7809
rmtfile ./dirdat/ei, maxfiles 999999, megabytes 1500, append
TABLE hxl.metric;

 

2.添加抽取进程并启动

GGSCI>add extract ext_init, SOURCEISTABLE

GGSCI>start ext_init

这个时候日志会同步到mysql端的dirdat目录下,主库的抽取进程执行完成后会自动停掉

 

目的端mysql
1.创建初始化复制进程

GGSCI>edit params rep_init

replicat rep_init
--sourcedefs /u01/goldengate19c_for_mysql/dirdef/defgen.prm
SETENV (MYSQL_UNIX_PORT=/opt/mysql5727/mysql.sock)
targetdb db_hxl@localhost:3306 userid goldengate, password mysql
reperror default, discard
discardfile ./dirrpt/rep_init.dsc,APPEND,MEGABYTES 1000
MAP hxl.metric,TARGET db_hxl.metric;

 

2.添加checkpoint

GGSCI > dblogin sourcedb db_hxl@192.168.1.135:3306 userid goldengate password mysql
Successfully logged into database.

GGSCI (host135 DBLOGIN as goldengate) 47> add checkpointtable db_oggadmin.checkpoint

Successfully created checkpoint table db_oggadmin.checkpoint.

 

这里需要提前创建好库db_oggadmin,并赋予权限给到同步的账号goldengate。

 

3.checkpoint加入到全局文件

GGSCI > edit params ./GLOBALS
checkpointtable db_oggadmin.checkpoint

 

4.添加复制进程

GGSCI > add replicat rep_init, exttrail ./dirdat/ei,checkpointtable db_oggadmin.checkpoint
REPLICAT added.

 

5.启动
GGSCI>start rep_init


检查数据同步完成后需要手工停掉复制进程并删除

GGSCI>stop rep_init
GGSCI>delete replicat rep_init