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 vue2(标签-chrome|关键词-浏览器兼容)
  • ¥15 python网络流自动生成系统 医学领域
  • ¥15 代码的修改,添加和运行完善
  • ¥15 krpano-场景分组和自定义地图分组
  • ¥15 lammps Gpu加速出错
  • ¥15 关于PLUS模型中kapaa值的问题
  • ¥15 关于博途V17进行仿真时无法建立连接问题
  • ¥15 机器学习教材中的例题询问
  • ¥15 求.net core 几款免费的pdf编辑器
  • ¥15 为什么安装HCL 和virtualbox之后没有找到VirtualBoxHost-OnlyNetWork?