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就可以,而且原来两个表的数据也不用更改,保留原表的数据,也可以用来后续排查订单来源。

简单记录一下。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值