您的位置:首页 > 其它

利用DB-link实现快速跨库表数据复制

2017-11-21 15:58 323 查看
在很多情况下,我们需要进行跨数据库实例进行数据的复制迁移。比如将生产系统的数据拷贝到测试系统中,方便在测试系统中进行开发测试。除了采用从A库中将数据导出,再将导出的数据导入B库(效率比较低)。为了更高效地复制数据,此时,就可以利用Oracle中提供的DB-Link进行数据的快速复制。

–创建DB_link的语句

create public database link zs_link
  connect to 用户 identified by 密码
  using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 10.30.x.xxx)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = 服务名)))';


–表复制语句(注意两个表的字段和顺序必须一致,不一致的手动补全)

表一致情况:

insert into table2 select t1.* from table1@zs_esb_link t1;


表一致情况,手动补全字段:比如表t2中包含t1中不含的字段Total,delTotal,insertTotal

insert into t2
select'10'Total,'0'delTotal,'10'insertTotal,t.uuid,t.batchno,t.componentid,t.componentcodefrom table1@DWZS  t1
where  t1.flag !='delete';


这样就能高效实现跨库表数据复制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: