码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2018-09-20 17:24:14      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:数据库   update   数据   nbsp   creat   blink   ide   日志信息   bat   

目标:两台服务器两个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实现数据同步

标签:数据库   update   数据   nbsp   creat   blink   ide   日志信息   bat   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!