当前位置:首页 > 多对一goldengate 实施步骤
多对一goldengate 实施步骤(windows平台,数据库单实例)
一、 目标端
1.1安装goldengate
根据目标端的系统平台和数据库版本,选择下载相应版本的goldengate.解压到d:\\goldengate目录。
目前oracle 10G windows平台的最新版本是V22232-01.zip
安装需要系统管理员权限。目标端数据库不需要打开归档。
目标端系统防火墙要添加相应例外 mgr.exe replicat.exe server.exe
1.1.1 创建目录
运行ggsci.exe ,
在出现的命令行界面执行
GGSCI>create subdirs
该命令会创建goldengate需要用到的目录。其中比较常用的目录有: Dirdat 抓取的流文件保存目录 Dirprm 参数文件保存目录 Dirrpt 进程日志保存目录 目录创建后,执行 GGSCI>exit
退出ggsci界面,使目录生效。
1.1.2 在目标端数据库添加checkpoint表。
创建goldengate专属用户及checkpoint表
SQL>create user goldengate identified by goldengate; SQL>grant connect,resource to goldengate; SQL>conn goldengate/goldengate
SQL>@d:\\goldengate\\chkpt_ora_create.sql
1.1.3 创建MGR服务
运行ggsci.exe
执行
GGSCI>edit params ./globals 内容:
MGRSERVNAME mgrserver
Checkpointtable goldengate.ggs_checkpoint
该命令在goldengate根目录里创建globals参数文件,指定mgr服务的服务名。该步骤可选,如果没有指定服务名,则系统会自动指定默认服务名GGSMGR。 第二行指定Checkpointtable表所在的用户和表名。checkpoint表用来记录数据处理检查点。
运行CMD,目录切换到goldengate目录, 执行
>INSTALL ADDSERVICE ADDEVENTS
该命令在系统服务里添加MGR服务,服务名为上面globals参数文件里指定的名称。
附:删除服务:在DOS命令行下执行: >install deleteservice deleteevents
1.1.4 配置MGR
运行ggsci.exe
GGSCI>EDIT PARAMS MGR 内容为: port 8000
--autostart er *
--autostart extract * --autostart replicat *
--autorestart er *, waitminutes 1
--autorestart extract *,waitminutes 1 --autorestart replicat *,waitminutes 1 --autostart extract EIEX01
--autostart extract EPMP01
--autorestart extract EIEX01,waitminutes 1 --autorestart extract EPMP01,waitminutes 1 DYNAMICPORTLIST 7000-8000
purgeoldextracts d:\\goldengate\\dirdat\\*, usecheckpoints, minkeephours 1
该命令在dirprm目录下创建MGR参数,指定MGR的端口为8000,可设置某个进程随MGR自动启动,设置某个进程异常终止后自动重启。
其中最后一行是清除使用过的流文件。最小保留1小时。
1.1.5 启动MGR
运行ggsci.exe GGSCI>start mgr
可用下面命令看MGR的状态 GGSCI>info mgr
1.1.6 创建目标数据库用户及表
------------------------------------从此处开始每增加一个数据源都要操作--------------------------- 以DBA权限登录SQLPLUS Sqlplus / as sysdba
SQL>Create user username identified by password default tablespace tablespacename; SQL>Grant dba to username;
在目标数据库该用户下创建要传输数据的相应的表,表结构与源数据库一致。此处不一定要给该用户DBA权限,只要下面的replicat参数里指定的用户有DBA权限即可。
1.1.7 配置一次性初始化同步进程(可选)
如果需要对表做一次全表数据初始化,需要在目标端加一个初始化复制进程。 运行ggsci.exe
GGSCI>add replicat rini01,specialrun 配置该进程参数文件 GGSCI>edit params rini01 内容:
replicat rini01
assumetargetdefs
userid username,password password
discardfile ./dirrpt/rini01.dsc,purge
map username.tablename, target username.tablename;
其中第二行参数假定源和目标的表结构一样。
第三行指定目标数据库的用户名和密码。该用户必须有DBA权限。
第四行指定被discarded的记录的保存文件名。purge每次有新记录时会清掉上一次的记录。 第五行指定源和目标表的映射关系。用户可以不一定是上面userid指定的用户,但是userid指定的用户对其要有访问权限。
1.1.8 在目标端配置replicat进程
一、增加replicat复制进程
GGSCI>add replicat rora01, goldengate.ggs_checkpoint,EXTTRAIL ./dirdat/tt
CHECKPOINTTABLE
其中rora01为该复制进程的名称,./dirdat/tt指定流文件的路径及前缀名。
二、配置该进程的参数文件。 GGSCI> edit params rora01 内容:
replicat rora01
userid test02 ,password test02 handlecollisions
assumetargetdefs
discardfile ./dirrpt/rora01.dsc, purge REPORTROLLOVER AT 05:30 ON friday
map test01.tcustmer, target test02.tcustmer;
map test01.tcustord, target test02.tcustord , KEYCOLS (MATID,PASSNO,WIDTHPOS);
其中handlecollisions参数会忽略重复记录和missing record errors missing record errors参数假定源和目标的表结构一致。
如果某个表没有主键,可以用KEYCOLS(注意:要大写,如果用在extract参数里,前面后面
共分享92篇相关文档