联系:手机/微信(+86 17813235971) QQ(107644445)
标题:goldengate同步sql server to oracle
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
准备工作,在sql server机器上建立odbc连接
一、初始化加载数据
1、source端
1)添加extract进程
ADD EXTRACT einito, SOURCEISTABLE edit param einito --以下添加到einito.prm文件中 EXTRACT einito SOURCEDB mssql_test RMTHOST 127.0.0.1, MGRPORT 7815 RMTTASK REPLICAT, GROUP rinitm TABLE dbo.t1;
2)生成defgen文件
edit params defgen ---以下为defgen.prm中内容 defsfile F:\ogg\mssql\dirdef\t1.def sourcedb mssql_test table dbo.t1; --退出ggsci(ogg安装目录dos下) exit defgen paramfile F:\ogg\mssql\dirprm\defgen.prm
2、target端
1)replicat 进程
ADD REPLICAT rinitm, SPECIALRUN edit params rinitm --以下内容在rinitm.prm文件中 replicat rinitm sourcedefs F:\ogg\oracle\dirdef\t1.def SETENV (NLS_LANG =AMERICAN_AMERICA.ZHS16GBK) USERID chf, PASSWORD xifenfei DISCARDFILE F:\ogg\oracle\dirrpt\RINItm.dsc, append MAP "dbo.t1", TARGET CHF.T1_1;
二、数据同步
1、source端
1)添加附件日志
dblogin sourcedb mssql_test add trandata dbo.t1
2)摄取进程(extract)
add extract extm,tranlog,begin now ADD EXTTRAIL F:\ogg\mssql\dirdat\ms, EXTRACT EXTM edit param extm --以下为extm.prm内容 extract extm SOURCEDB mssql_test exttrail F:\ogg\mssql\dirdat\ms dynamicresolution gettruncates tranlogoptions managesecondarytruncationpoint TABLE dbo.t1;
3)传递进程(data pump extract )
ADD EXTRACT pump1, EXTTRAILSOURCE F:\ogg\mssql\dirdat\ms, BEGIN now add rmttrail F:\ogg\oracle\dirdat\or extract pump1 edit params pump1 --以下为pump1.prm内容 extract pump1 SOURCEDB mssql_test --需要,不然不能获得数据 rmthost 127.0.0.1, mgrport 7815 rmttrail F:\ogg\oracle\dirdat\or PASSTHRU gettruncates TABLE dbo.t1;
2、target端
1)设置检查点表
edit params ./GLOBALS --下面一句为GLOBALS文件中内容 CHECKPOINTTABLE ogg.chkpoint dblogin userid ogg,password xifenfei ADD CHECKPOINTTABLE ogg.chkpoint
2)replicat进程
add replicat repl exttrail F:\ogg\oracle\dirdat\or,begin now,checkpointtable ogg.chkpoint edit params repl --以下为repl.prm中内容 replicat repl SETENV (NLS_LANG =AMERICAN_AMERICA.ZHS16GBK) userid ogg,password xifenfei sourcedefs F:\ogg\oracle\dirdef\t1.def reperror default,discard discardfile F:\ogg\oracle\dirtmp\repsz.dsc,append,megabytes 100 gettruncates MAP "dbo.t1", TARGET CHF.T1_1;
note:
因为defgen中的表名为小写,所以在replicat相关进程中,map表需要使用双引号小写