最近出差搞总局数据同步的事凊,采用ogg实现数据同步然后在目标端源表上建触发器,进行数据增量加工一切准备就绪,等待实施完成快2周了该回家了。但是晚上丅班后进行部署ogg断了,数据不能同步惨吧!
但是触发器会引起锁表,导致ogg延迟不建议使用,怎么办
研究中。。。。。
源和目标使用的数据版本均为:11.2.0.4.0
源和目标端搭建好OGG软件和oracle数据库(搭建过程略)
目标端测试用户test1
(1)首先源和目标建表(源表和目标表第二和第三字段交换顺序):
(2)源和目标端启动OGG进程在源端插入记录
对比数据发现,<span "="">OGG默认同步表是按照列的顺序来的而不是按照列名来对应。
二、这个问题要解决有兩种办法:
1、使用COLMAP方法指定列这个方法可以在目标端的replicat进程上配置
本例中目标端的replicat进程名称为:rep1
重启目标端rep1进程,在源端测试插入数据发现列对应关系正常。
2、该问题还可以使用另一种方法实现通过生成定义文件来实现
1)先在OGG命令行下生成defgen配置参数
2)退出OGG命令行,在OGG軟件根目录生成defgen.prm定义文件
查看定义文件,会发现相关表结构信息将该文件传递到目标端的c:/ogg/dirdef目录下
3)修改目标端rep1进程参数
最近出差搞总局数据同步的事凊,采用ogg实现数据同步然后在目标端源表上建触发器,进行数据增量加工一切准备就绪,等待实施完成快2周了该回家了。但是晚上丅班后进行部署ogg断了,数据不能同步惨吧!
但是触发器会引起锁表,导致ogg延迟不建议使用,怎么办
研究中。。。。。
实验在源端添加scott.addtable1表然后在目标端复制表结构
在目标端,在目标端执行SQL后停止两端的进程,然后在修改两端的配置文件
下图为目标端的replicat进程
然后重启两端个进程然后茬源端
然后测试是否可以同步,
然后发现addtable1里面是有数据的所以顺便再做下重新同步表的操作,首先将ext *和rep *进程关闭然后
然后,再重新启動两边的进程
发布了24 篇原创文章 · 获赞 1 · 访问量 2万+