首页 > 数据库技术 > 详细

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

时间:2018-09-20 17:11:18      阅读:266      评论:0      收藏:0      [点我收藏+]

目标:两台服务器两个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

 

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

原文:https://www.cnblogs.com/lsjBlog/p/9681619.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!