利用DB Link两步搞定Oracle两个数据库间的表数据同步

这个方法可以实现两个不同oracle版本的表同步,而且会比imp语句导dmp效率高。

一、实现目标:
要实现从源表(AAA)到目标表(BBB)的数据同步。

二、在目标机上建立Oracle DB Link:

1、 在network/admin/tnsname.ora文件中加入源库的连接信息,如:

AAA=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.5.1.3)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = AAA)
    )
  )

2、在目标机上用PLSQL工具或者sqlplus user/pwd登录目标库(BBB)。
3、用如下命令与源库(AAA)建立DB Link:

create public database link AAA_LINK connect to user identified by pwd using 'AAA';

命令说明:
CREATE PUBLIC DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;
如果建立成功,会提示:Database link created。

三、使用如下脚本,即可同步数据表:

truncate table C;
insert into C
select * from AAA.C@AAA_LINK; #这里是指向要同步的来源表,表名必须是<表所有者>.<表名>@<dblink name>
commit;

PS:需要DB支持Advanced replication功能,是否支持,可用如下SQL查看:

select * from v$option where PARAMETER='Advanced replication';
如果是返回True就表示支持。

原文地址

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值