oracle两个表之间的同步,利用DB Link两步搞定Oracle两个数据库间的表同步
一、实现目标:要实现从源表: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=...
一、实现目标:
要实现从源表: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:
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。
三、使用如下脚本,即可同步数据表:
#!/bin/sh
# to sync table A to BBB database from AAA database
sqlplus user/pwd@BBB <
truncate table A;
insert into A
select * from b_schema.A@AAA_LINK; #这里是指向要同步的来源表,表名必须是.@
commit;
PS:需要DB支持Advanced replication功能,是否支持,可用如下SQL查看:
select * from v$option where PARAMETER='Advanced replication';
如果是返回True就表示支持。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)