使用OGG进行数据迁移
源端:
Oracle 10.2.0.4
Goldgengate 11.1.1.0.0
目标端:
Oracle 11.2.0.4
Goldgengate 12.2.0.1.1
还是按照之前的方法,源端用defgen生成def文件传到目标端,入库使用sourcedef参数,不过遇到了一个小问题
这次源端抽取有4000张表,我把这4000张表生成的def放到目标端,然后开启目标端的入库进程后,入库进程不报错,但是复制没成功,也就是dat文件你看控制台输出的信息它已经apply了,但是实际上去目标库里查,数据没有变化
然后我测试一下,只生成一个表的def放到目标端去,重启入库进程,让目标端只同步一个表,这次数据就成功apply了。。
所以我怀疑这个def里表的数量会不会对这个def的使用有影响。。
抱着测试的心态 把prm里面表的数量 减到3000和2500,然后再把def传过去起服务,结果都不行
把prm里面表的数量 减到1,然后再把def传过去起服务,结果可以
因为在别的医院也用OGG迁移过,2500张表是肯定没问题的,所以是不是和版本有关系?i don't know..
由于OGG只是迁移使用,不需要长期维护,所以决定目标端映射不用sourcedef参数了,网上查了一下,在源端和目标端表同构时,可以使用assumetargetdefs,试了一下,可以使用!Perfect!
还想到了一种方法,就是把入库进程拆成多个,每个使用自己的小def(这个方法只是理论阶段,没有实践)