加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 16:17:30 所属栏目:百科 来源:网络整理
导读:一、实现目标: 要实现从源表:AAA到目标表:BBB的数据同步。 二、在目标机上建立Oracle DB Link: 1、 在network/admin/tnsname.ora文件中加入源库的连接信息,如: AAA = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.5.1.3 )(PORT = 1521 )) (C

一、实现目标:

要实现从源表: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、在目标机上用sqlplus user/pwd登录。
3、用如下命令建立DB Link:
createpublicdatabaselinkAAA_LINKconnecttouseridentifiedbypwdusing'AAA' ;

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

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

# !/bin/sh
#tosynctableAtoBBBdatabasefromAAAdatabase

sqlplususer/pwd@BBB<<EOF#这里是BBB上的数据库和密码还有实例名,请按照实际情况修改
truncate tableA;
insertintoA
select*fromb_schema.A@AAA_LINK;#这里是指向要同步的来源表,表名必须是<表所有者>.<表名>@<dblinkname>

commit;



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

select*fromv$optionwherePARAMETER='Advancedreplication';

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读