遇到一个问题,两张库数据需要同步,但是数据量很大,落地迁移时间成本太大,这个时候找到一种方法就是DBLink
使用场景说明:
A转移数据到B,需要在B上面创建此DBLink,然后使用。
创建方法:
-- Create database link
create database link LINKDD --(此处为DBLink的名称随意自定义)
connect to oracle --(此处为登录名)
create database link LINKDD --(此处为DBLink的名称随意自定义)
connect to oracle --(此处为登录名)
identified by "abs" --(此处为登录密码)
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.11)(PORT = 1521))--此处为IP地址和端口号
)
(CONNECT_DATA =
(SERVICE_NAME = tgxtdb)--(此处为服务名称)
)
)';
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.11)(PORT = 1521))--此处为IP地址和端口号
)
(CONNECT_DATA =
(SERVICE_NAME = tgxtdb)--(此处为服务名称)
)
)';
删除DBLink:
drop database link LINKDD;
使用DBLink:
select * from oracle.a_table@LINKDD
分别为 用户名.表名@DBlink名称
这样便可以在表B获取表A的相关数据,进行相关操作了