goldenGate sybase to oracle配置

golden的配置

由于本文是实现sybaseoracle单相复制,sybase goldenGate需放到源端,oracle goldenGate 需放到目标端。

1.启动命令行

在源端的sybase goldenGate解压后进入到解压目录,点击ggsci.exe进入到命令行。

2.创建子目录

执行create subdirs命令创建子目录。

3.指定管理进程端口并启动

执行edit param mgr,在弹出的文本编辑器中输入进程端口port 15002(端口随便指定)。

接着执行 start mgr 启动进程,执行info mgr查看进程是否启动。

4.创建需要复制的表

此处省略具体步骤,创建完表之后在sybase执行dbcc settrunc(‘ltm’,’valid’)

 

5.标记被复制的表

在命令行中执行dblogin SOURCEDB psc@JUNFENG987C7A9, USERID pscchina, PASSWORD pscchina登录数据库(注意SOURCEDB不是[email protected]:5000,在sybase的安装目录下的ini目录中sql.ini在加入[JUNFENG987C7A9]

master=NLWNSCK,10.3.1.35,5000 

query=NLWNSCK,10.3.1.35,5000,此处用的是别名 )

执行 add trandata dbo.test2(test2是被复制的表)

执行info trandata dbo.test2查看表是否被标记

6.配置source definition generator

执行 edit param defgen在弹出的文本编辑器中输入DEFSFILE ./dirdef/source.def, PURGE

SOURCEDB psc@JUNFENG987C7A9, USERID pscchina, PASSWORD pscchina

TABLE 'dbo.TEST2'; 

 

7.执行source definition generator

windows命令行中进入到goldenGate的安装目录,执行defgen paramfile dirprm/defgen.prm

8.将生成的文件拷贝到目标端

dirdef目录下生成的source.def拷贝到目标端goldenGate安装目录下的dirdef目录下

 

9.准备目标端的环境

在目标端也需要执行1,2,3步骤,并创建数据库用户和表

 

10.初始数据的加载

在源端执行add extract einisourceistable,执行info extract *tasks验证

在源端执行edit param eini,在弹出的文本编辑器中输入

EXTRACT eini

SETENV (NLS_LANG="AMERICAN_AMERICA.AL32UTF8") --只有抽取进程和复制进程参数文件中的NLS_LANG变量与源端数据库字符集一致,同步正常,不乱码

SOURCEDB psc@JUNFENG987C7A9, USERID pscchina, PASSWORD pscchina

RMTHOST 127.0.0.1, MGRPORT 15001

RMTTASK REPLICAT,GROUP rini

TABLE 'dbo.TEST2'; 

 

在目标端执行edit param rini,在弹出的文本编辑器中输入

REPLICAT rini

SETENV (NLS_LANG="AMERICAN_AMERICA.AL32UTF8")

userid ggs,password ggs

DISCARDFILE ./dirrpt/rini.dsc, PURGE

SOURCEDEFS ./dirdef/source.def

MAP 'dbo.TEST2', TARGET 'GGS.TEST2';

在目标端执行 add replicat rini,specialrun

执行info replicat *,tasks验证是否添加成功

 

在源端执行 start extract eini,执行view report eini查看启动信息

在目标端执行 start extract rini,执行view report rini查看启动信息(可不执行)

 

执行完以上步骤后源端被复制表中的初始数据就被复制到目标端中对应的表了。

11.配置实时变化数据的复制

 

 

 

 

11.1配置抓取进程

在源端执行add extract esyb,tranlog,begin now,执行info extract esyb验证是否添加成功。

执行edit param esyb在弹出的文本编辑器中输入

EXTRACT ESYB

SETENV (NLS_LANG="AMERICAN_AMERICA.AL32UTF8")

SOURCEDB psc@JUNFENG987C7A9, USERID pscchina, PASSWORD pscchina

RMTHOST 127.0.0.1, MGRPORT 15001

RMTTRAIL ./dirdat/r2

TABLE dbo.TEST2; 

执行 add RMTTRAIL  ./dirdat/r2,EXTRACT ESYB,MEGABYTES 5

执行 INFO RMTTRAIL  *验证是否添加成功

执行start extract  ESYB

执行info extract ESYBdetail

View report ESYB验证是否启动正常

11.2 配置checkpoint table

在目标端执行edit param ./GLOBALS在文本编辑器中输入

Checkpointtable ggs.ggschkpt(ggsoracle用户)

执行 dblogin userid ggs,password ggs登录到oracle 

执行add checkpointtable ggschkpt

11.3配置复制进程

在目标端执行add replicat rora,exttrail ./dirdat/r2,checkpointtable ggs.ggschkpt

接着执行edit param rora在文本编辑器中输入

REPLICAT RORA

SETENV (NLS_LANG="AMERICAN_AMERICA.AL32UTF8")

USERID ggs, PASSWORD ggs

HANDLECOLLISIONS

SOURCEDEFS ./dirdef/source.def

DISCARDFILE ./dirrpt/RORA.DSC, PURGE 

MAP 'dbo.TEST2', TARGET 'GGS.TEST2';

执行 start replicat rora启动复制进程

执行info replicat rora查看是否启动成功


总结:goldenGate配置比较繁琐,要步步小心,源端抓取进程字符集和目标端复制进程字符集一定要和源端数据库的字符集一致,否则中文会乱码。

你可能感兴趣的:(goldenGate sybase to oracle配置)