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

在很多情况下,我们需要进行跨数据库实例进行数据的复制迁移。比如将生产系统的数据拷贝到测试系统中,方便在测试系统中进行开发测试。除了采用从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';

这样就能高效实现跨库表数据复制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值