oracle表对比同步,Oracle表双向同步问题

开发同学说有一个需求,需要在两个库之间同步一张表的数据

涉及到两个业务系统,这张表的内容用于页面展示

暂且称为A库和B库,表名都相同,称为T

该表只是新增,思考了下,有两个比较方便的方法:

1.定时将A库的表T同步至B库,然后将A库表T和B库表T对比,将差异数据插入到B库的表T(或者使用dblink进行实现,相对简单一些)

下面是使用系统定时任务进行的操作

#!/bin/bash

. /home/oracle/.bash_profile

exp jdorcl/jdorcl@b2borcl_184 TABLES=T_JD_LEAD_GOODS file=/home/oracle/sync_tab/exp_t_jd_lead_goods.dmp log=/home/oracle/sync_tab/exp_

t_jd_lead_goods.log

#sqlplus jdorcl/\"jdorcl\@2018\" <

sqlplus system/oracle <

truncate table T_JD_LEAD_GOODS ;

drop table T_JD_LEAD_GOODS ;

EOF

imp system/oracle file=/home/oracle/sync_tab/exp_t_jd_lead_goods.dmp fromuser=jdorcl touser=system tables=T_JD_LEAD_GOODS log=/home/or

acle/sync_tab/imp_t_jd_lead_goods.log

sqlplus system/oracle <

insert into adminsup.t_jd_lead_goods select * from (SELECT * FROM system.t_jd_lead_goods a WHERE NOT EXISTS (SELECT * FROM adminsup.t_

jd_lead_goods b WHERE a.id = b.id));

commit ;

EOF

其实更方便的是开发其实可以从应用上来解决

通过dblink来查询两个表,union就可以,而且原来两个表的数据也不用更改,保留原表的数据,也可以用来后续排查订单来源。

简单记录一下。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部