您的位置:首页 > 数据库 > Oracle

不同数据库,表之间数据的同步。oracle

2009-03-28 22:11 573 查看
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.

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就表示支持。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: