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:

createpublicdatabase 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,使用如下脚本,即可同步数据表:

4f1150b881333f12a311ae9ef34da474.png#!/bin/sh

4f1150b881333f12a311ae9ef34da474.png# to sync table A to BBB database from AAA database4f1150b881333f12a311ae9ef34da474.pngsqlplus user/pwd@BBB<truncatetable A;

4f1150b881333f12a311ae9ef34da474.pnginsert into A 

4f1150b881333f12a311ae9ef34da474.pngselect*from b_schema.A@AAA_LINK;#这里是指向要同步的来源表,表名必须是.@4f1150b881333f12a311ae9ef34da474.pngcommit;

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

4f1150b881333f12a311ae9ef34da474.pngselect*fromv$optionwherePARAMETER='Advanced replication';

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值