功能示意图
oracle可以通过dblink在不同环境间使用别名直接访问其他环境的数据库表,包括查询,修改,删除操作。使用dblink方式同步数据,省去了从一个环境先导出数据文件,再到另一个环境导入的过程,提升了工作效率。
创建dblink
--如果已存在,先删除
drop public database link tosit;
--创建dblink
create public database link tosit connect to situsername IDENTIFIED by sitpasswd
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 192.168.0.5)
(PORT = 1521)
)
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)';
--如果报错无权限,则使用dba用户增加权限
grant create public database link, create database link to devusername;
--查看是否创建成功
select * from dba_objects where object_type='DATABASE LINK';
select * from all_db_links;
--查看能否访问sit环境prod表
select * from prod@tosit
同步数据
--将sit表数据同步到当前数据库
insert into PROD select * from PROD@tosit where 1=1;
--将当前数据库数据同步到sit
insert into PROD@tosit select * from PROD where 1=1;