OGG 使用defgen 同步不同定义表实验

实验环境 linux red hat   OTO 11g
在源端创建表:
CREATE TABLE DEFG1
(
  OB1  NUMBER,
  OB2  VARCHAR2(5 BYTE),
  OB3  DATE,
  OB4  CHAR(1 BYTE),
  SUPPLEMENTAL LOG GROUP GGS_77320 (OB1) ALWAYS
);
CREATE UNIQUE INDEX GG.PK_OB1_DEF ON GG.DEFG1
(OB1);
在目标端创建表:
CREATE TABLE DEFG2
(
  MB1  NUMBER,
  MB2  VARCHAR2(5 BYTE),
  MB3  DATE,
  MB4  CHAR(1 BYTE),
  SUPPLEMENTAL LOG GROUP GGS_77327 (MB1) ALWAYS
);
CREATE UNIQUE INDEX REGG.PK_MB1_DEF ON REGG.DEFG2
(MB1);
二、给表添加附加日志
GGSCI> add trandata  defg1---源端
GGSCI> add trandata  defg2---目标端
三、停止抽取和推送进程在extract和pump 进程参数文件中加入表----因为我是用原来存在的抽取进程和推送进程 所以只需要在各自的参数文件中加入表就可以。
stop er *  --源端
GGSCI (OGG1) 58> view params ggex
EXTRACT ggex
GETTRUNCATES
REPORT AT 0:00
WARNLONGTRANS 60M,checkinterval 30M
SETENV (NLS_LANG = AMERICAN_AMERICA.AL32UTF8)
DDL INCLUDE ALL
USERID gg,PASSWORD  AACAAAAAAAAAAACANJPHHDSJCIYCFCZB,ENCRYPTKEY default
ENCRYPTTRAIL AES192 KEYNAME mykey1
EXTTRAIL /u01/ogg/dirdat/kt
TABLE gg.sen?;
TABLE GG.tgt;
TABLE GG.tab;
TABLE GG.tabx;
TABLE GG.MB_JSBJZS;
TABLE GG.ehr_healthrecord;
TABLE GG.colmap;
table gg.col;
table ggdl.tes;
table gg.defg1;

GGSCI (OGG1) 59> view params ggpump
EXTRACT ggpump
USERID gg, PASSWORD gg
RMTHOST og2, MGRPORT 7809 ,compress
GETTRUNCATES
REPORT AT 0:00
DDL INCLUDE ALL
SETENV (NLS_LANG =  AMERICAN_AMERICA.AL32UTF8)
warnlongtrans 60m,checkinterval 30m
DISCARDFILE /u01/ogg/dirrpt/pmp.dsc, PURGE
DECRYPTTRAIL AES192 KEYNAME mykey1
ENCRYPTTRAIL AES192 KEYNAME mykey2
RMTTRAIL /u01/ogg/dirdat/kt MEGABYTES 2, PURGE
TABLE gg.sen?;
TABLE GG.tgt;
table gg.tab;
table gg.tabx;
TABLE GG.MB_JSBJZS;
table gg.ehr_healthrecord;
table gg.colmap;
table gg.col,cols(id1,id2,id4);
table ggdl.tes;
table gg.defg1;
四、在源端生成定义
GGSCI>edit params defgen
defsfile /u01/ogg/defge.p----defge.p 为生成的定义文件名称
userid gg,password gg-
table gg.defg1; 
[oracle@OGG1 ogg]$ defgen paramfile /u01/ogg/dirprm/defgen.prm
把defge.p拷贝到目标端目录最好放在 /u01/ogg/dirdef  规范嘛...
------------以下为目标端 复制进程操作-----------------
一、新增进程
停止原来的复制进程
GGSCI>stop er *
进程参数文件:
GGSCI (og2) 31> view params redf
---------this file writed by huzhicheng in 2014/05/21 if you have any question please conntact me with huzhicheng.force@gmail.com--------
replicat redf
HANDLECOLLISIONS
GETTRUNCATES
GROUPTRANSOPS 100
REPORT AT 0:00
ALLOWNOOPUPDATES
WARNRATE 1000
ddlerror default ignore retryop maxretries 3 retrydelay 5
USERID regg , PASSWORD regg
DISCARDFILE ./dirrpt/RINIaa.dsc, PURGE
DECRYPTTRAIL AES192 KEYNAME mykey2
SOURCEDEFS /u01/ogg/dirdef/defg.p
map gg.DEFG1 , target regg.DEFG2 COLMAP(mb1=ob1,mb2=ob2,mb3=ob3,mb4=ob4);
这里colmap 需要注意如mb2 和ob2 为时间类型, 且ob4 mb4 为char(1) 如果打乱顺序 会是的 进程 起不来,出错,这事很明显的其它类型的怎么能插入date的呢??  所以你在复制的时候需要根据业务来调整你的复制对象,不能一味操作。
 保存你的参数文件
二、添加复制进程
ADD REPLICAT redf, EXTTRAIL /u01/ogg/dirdat/kt checkpointtable regg.chkpoint 
三、获取最后的RBA 和seq
为什么呢? 因为 我们是新增复制进程而且用的是原来的数据文件 如果不更改获取的rba seq 位置不告诉复制进程从那里开始去 复制进程 会从kt00000000 这个文件开始读,而且你以前很可能配置了purge 参数 kt00000000早已经被清除 。你在源端更改数据 而复制进程读的是kt00000000 这个文件 你后来发送过来的文件kt00000000xx 复制进程不会去读取,就算你做了更新对于复制进程来说是无效的,经实验验证。所以需要获取rba和seq 从最后一个文件读取。

GGSCI>info replgg,showch---replgg 是原来的replicat进程
Current Checkpoint Detail:
Read Checkpoint #1
  GGS Log Trail
  Startup Checkpoint (starting position in the data source):
    Sequence #: 54
    RBA: 6062
    Timestamp: 2014-07-14 23:24:27.880615
    Extract Trail: /u01/ogg/dirdat/kt
  Current Checkpoint (position of last record read in the data source):
    Sequence #: 54
    RBA: 8163
    Timestamp: 2014-07-15 00:30:48.944588
    Extract Trail: /u01/ogg/dirdat/kt
CSN state information:
  CRC: D4-F8-AB-DE
  Latest CSN: 3243078
  Latest TXN: 5.22.1964
  Latest CSN of finished TXNs: 3243078
  Completed TXNs: 5.22.1964
Header:
  Version = 2
  Record Source = A
  Type = 1
  # Input Checkpoints = 1
  # Output Checkpoints = 0
红色部分为我们需要的
四、切换RBA读取
ggsci>alter redf   extseqno 54, extrba 8163

五、开启进程
start er * ----源端和目标端同样执行
六、验证结果
在源端插入数据 在目标端执行查询看是否发生更改
------------------------------ok---------------------------------------

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

转载于:http://blog.itpub.net/26764973/viewspace-1218605/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值