Oracle如何创建DBlink

前言

操作步骤
前言
有时候会存在在登录A数据库时需要访问B数据库的库表的需求,此时可以建立对B库的DBlink连接去访问

例如,当我们在使用A数据库下的A_TEST用户登录A数据库时,需要访问B数据库B_TEST用户下的table_test表,可以如下去操作:

数据库信息如下:
A数据库:192.168.2.157:1521/orcl
A数据库用户/密码:A_TEST/A_TEST
B数据库:192.168.2.158:1521/orcl
B数据库用户/密码:B_TEST/123456

操作步骤

第一步:检查A_TEST是否有创建DBlink的权限

select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='A_TEST';


若没有查询到数据,那么直接查询 select * from user_sys_privs;当权限是"UNLIMITED TABLESPACE",表示这个用户有系统权限,也可以不授予DBlink的权限

第二步:若以上情况都不满足,则执行以下语句进行赋权

grant create public database link to A_TEST;

第三步:在A_TEST下执行创建DBlink语句

/* 
    TestDblink:为创建的DBlink名称
    B_TEST identified by 123456:为用于连接目标库的用户和密码
    HOST = 192.168.2.158:为目标数据库IP
    PORT = 1521:为目标数据库端口
    SERVICE_NAME = orcl:为目标数据库实例名称
*/
create public database link TestDblink
 connect to B_TEST identified by 123456
  using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.2.158)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';


第四步:使用如下语句去访问库表

select * from table_test@TestDblink;


第五步:当不需要使用该DBlink时,使用如下语句进行删除

drop public database link TestDblink;

Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐