版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Melody_Susan/article/details/87690050
目前存在一个这样的业务需求,两个不同实例的ORACLE数据库, 数据库A和数据库B,我需要在A库中查询B库中的业务表 T_TEST_LINK,并且我直接想在A库中使用select * from T_TEST_LINK查询不写 select * from B.T_TEST_LINK@link_to_B的繁琐SQL。
第一步:
在A库中创建DB link
-- Create database link
create database link link_to_B
connect to B --B数据库的用户名
IDENTIFIED by "B_password" --B数据库的密码
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 10.10.xx.xx)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
创建在A库中使用
select * from B.T_TEST_LINK@link_to_B测试下
第二步:
在A库中创建同义词
-- Create the synonym
create or replace synonym T_TEST_LINK
for B.T_TEST_LINK@LINK_TO_B;
第三步:
使用同义词测试
select * from T_TEST_LINK