两台服务器不同oracle数据库使用dblink+merge实现数据同步

目标:两台服务器两个oracle数据库   

 主服务器:192.168.0.1   主数据库:center    

 目标服务器:192.168.0.2 目标数据库:branch

//首先保证两台服务器可以ping通

--1、在主数据库中创建dblink ,branch为dblink名称,用户名和密码写自己的,192.168.0.2为目标服务器,orcl为目标数据库

create database link branch connect to 用户名 identified by "密码" using '192.168.0.2/branch';    

--2、验证dblink,branch为dblink名称
select * from 目标数据库中任意一个表名称@branch;

--3、通过merge语句完成表数据同步, 通过主键进行判断,如果两张表主键相同就进行数据更新,否则进行数据插入

merge into 目标数据库需要同步的表名称@branch b using 主数据库需要同步的表名称 c on(b.id=c.id)
when matched then
  update set b.name=c.name,b.age=c.age
when not matched
  then insert values(c.id,c.name,c.age);
commit;
exit;

//4、可以创建bat文件来执行merge.sql文件

创建merge.bat文件,log.txt(存储日志信息)

@echo off
sqlplus 用户名/密码@主数据库名称 @G:\java\merge\merge.sql > log.txt
exit

 

转载于:https://www.cnblogs.com/lsjBlog/p/9681619.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值