qq_18936367 2020-01-13 16:59 采纳率: 0%
浏览 376
已结题

关于oracal数据库跨服务器数据迁移的问题

服务器A:life@10.136.6.249/fzcbnb 有一张user 表,
服务器B:bank@10.136.8.105/fzcbnb 有一张user_reg表,
现在使用PLSQL Deceloper工具,数据库是oracal,将user_reg表中的user_pwd字段同步到user表中的pwd字段中,两张表通过user表的user_lg_nm字段与user_reg表中的mobile字段相关联,同时还需要把user_reg表中存在但是user表中不存在的数据添加到user表中。请问各位大佬有没有合适可行的方案,指导一下。

  • 写回答

2条回答 默认 最新

  • luoh_面向百度编程 2020-01-14 15:35
    关注

    如果两个表在一个库里,这件事情就变的很简单了对吧,所以创建一个dblink就可以实现啦;
    创建了dblink你就可以在一个库中访问另一个库的表,简单来说就是建立了一个远程连接,废话不多说下面来创建一个。
    在A库里执行以下语句,connect to xxx identified by xxx 填写B的数据库的用户名密码,using '' 中填写B的数据库连接:

    create database link mydblink
    connect to xxx identified by xxx
    using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = orcl) ) )';
    

    创建完了好办了吧?

    最好先备份一下目标表:

    create table user_bak as 
     select * from user t ;
    

    同步数据sql:

    update user u set u.pwd=(select user_pwd from user_reg@mydblink r where r.user_lg_nm=u.mobile) ;
    

    通过批量插入语句补充数据,注意查询出来的字段与相应字段要一一对应
    sql:

    INSERT INTO user
    (相应字段) 
    (查询语句);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘