Linux下GoldenGate单机单向同步

                                                            Linux下GoldenGate单机单向同步


一、配置Manager管理程的参数

1)查看Manager进程状态

GGSCI (localhost) 3> info all

 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

 

MANAGER     STOPPED                                          

 

 

GGSCI (localhost) 4>

 

2)编辑参数

GGSCI (John-PC) 3> edit params mgr

在新打开的/u01/ogg/dirprm/mrg.prm文件中输入“port 7809”并保存退出。

 

二、配置抽取进程

GGSCI (localhost) 2> add extract ext1,tranlog, begin now

EXTRACT added.

 

 

GGSCI (localhost) 3> add exttrail /u01/ogg/dirdat/st, extract ext1

EXTTRAIL added.

add exttrail /u01/ogg/dirdat/st, extract ext1表示通过ext1进程把数据抽取到本地的/u01/ogg/dirdat/st文件中。

st代表scott,表示本实验是要把scott.test_table中的数据同步到haishu.test_table中。当然也可以起其他名字,不过建议起的有意义一点。

exttrail表示本地。若要抽取到远程服务中,应使用add rmttrail语句。

 

编辑抽取进程ext1参数

GGSCI (localhost) 4> edit params ext1

 

在新打开的/u01/ogg/dirprm/ext1.prm中输入以下内容并保存退出

extract ext1

userid ogg,password oracle

rmthost 127.0.0.1,mgrport 7809

rmttrail /u01/ogg/dirdat/st

dynamicresolution

table scott.test_table;

因为这个实验是本机上的单向同步,所以远程IP地址即为本机地址127.0.0.1,当然也可以写为实际的IP地址192.168.6.135

 

三、添加checkpoint

复制进程需要用到checkpoint表。

 

GGSCI (localhost) 5> edit params ./GLOBAL

这里./表示当前目录,即/u01/ogg/

./GLOBAL文件中输入以下内容,并保存退出。

GGSCHEMA ogg

CHECKPOINTTABLE ogg.checkpoint

 

添加checkpoint

GGSCI (localhost) 6> add checkpointtable ogg.checkpoint

 

Successfully created checkpoint table ogg.checkpoint.

 

 

四、配置复制进程

GGSCI (localhost) 5> add replicat rep1,exttrail /u01/ogg/dirdat/st, checkpointtable ogg.checkpoint

REPLICAT added.

这个句子表示从本机的/u01/ogg/dirdat/st中读取数据,并通过rep1进程把这些数据复制到数据库中。ogg.checkpointrep1的容器表。

 

编辑rep1进程参数

GGSCI (John-PC) > edit params rep1

 

在新打开的/u01/ogg/dirprm/rep1.prm中输入如下内容并保存退出

replicat rep1

userid ogg,password oracle

assumetargetdefs

discardfile /u01/ogg/dirdat/rep1_discard.txt,append

map scott.test_table, target haishu.test_table

RESOLVECONFLICT (UPDATEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (INSERTROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (DELETEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (UPDATEROWMISSING, (DEFAULT, IGNORE))

RESOLVECONFLICT (DELETEROWMISSING, (DEFAULT, IGNORE));

 

五、测试同步结果

1 sqlplus环境中用sys用户登录数据库sqlplus / as sysdba

解锁scott用户

创建haishu用户并授予grantconnect权限

sys用户下创建scott.test_table表和haishu.scott

 

SQL> create table scott.test_table(id varchar(10) primary key);

SQL> create table haishu.test_table(id varchar(10) primary key);

 

2 ogg环境中启动ogg的管理进程、抽取进程和复制进程

GGSCI (localhost) 16> start mgr

 

Manager started.

 

 

GGSCI (localhost) 17> start ext1

 

Sending START request to MANAGER ...

EXTRACT EXT1 starting

 

 

GGSCI (localhost) 18> start rep1

 

Sending START request to MANAGER ...

REPLICAT REP1 starting

 

 

GGSCI (localhost) 19> info all

 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

 

MANAGER     RUNNING                                          

EXTRACT     RUNNING     EXT1        00:00:00      00:16:45   

REPLICAT    RUNNING     REP1        00:00:00      00:00:01

进程状态为running表示正常启动;若为abendedstop表示出错。可用“view report 进程名称”来查看错误信息,比如“view report ext1”。

 

3 scott方案中插入一条数据并从haishu方案中检验

SQL> insert into scott.test_table values('scott-001');

 

已创建 1 行。

 

SQL> commit;

 

提交完成。

 

SQL> select * from haishu.test_table;

 

ID

----------

scott-001

 

4 scott方案中删除数据并从haishu方案中检验

SQL> delete from scott.test_table;

 

已删除 1 行。

 

SQL> commit;

 

提交完成。

 

SQL> select * from haishu.test_table;

 

未选定行

 

上述实验结果说明成功实现把scott.test_table中的数据同步到haishu.test_table中。

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

转载于:http://blog.itpub.net/29485627/viewspace-1761123/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值