利用DB Link两步搞定Oracle两个数据库间的表同步-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

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

简介:

1,在目标机上建立Oracle DB Link:
A,在network/admin/tnsname.ora文件中加入源库的连接信息,如:

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

 

B,在目标机上用sqlplus user/pwd登录。

 

C,用如下命令建立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.

查看状态

select status from dba_objects where object_type='DATABASE LINK';

 

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

 

#!/bin/sh
# to sync table A to BBB database from AAA database

sqlplus user/pwd@BBB <<EOF    #这里是BBB上的数据库和密码还有实例名,请按照实际情况修改
truncate table A;
insert into A 
select * from b_schema.A@AAA_LINK#这里是指向要同步的来源表,表名必须是<表所有者>.<表名>@<dblink name>
commit;

 

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

 

select * from v$option where PARAMETER='Advanced replication';

如果是返回True就表示支持。




本文转自 vfast_chenxy 51CTO博客,原文链接:http://blog.51cto.com/chenxy/838432,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章