一、创建新的DBLink

需求说明:

现有两个测试库,现想通过DBLink在测试库1连接测试库2。

创建DBLink

1)在测试库查看是否拥有创建DBLink的权限

select * from user_sys_privs where privilege like upper('%DATABASE LINK%');

查询无结果输出,说明当前用户没有创建DBLink的权限。

2)赋权当前用户创建DBLink的权限

$ sqlplus /as sysdba
SQL>grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to rui; 

再次执行 1)中语句查看是否拥有创建DBLink的权限,输出结果如下:
在这里插入图片描述
3)创建DBLink
语法如下:

 create public database link DBLink名字    
 connect to 测试库2用户名 identified by 密码  
 using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 测试库2的ip)(PORT = 端口号)))(CONNECT_DATA =(SERVICE_NAME = 实例名)))';
 create public database link QAS_2    
 connect to rui identified by rui  
 using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.10.2)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';

二、测试是否创建成功

1)检查是否完成创建
执行如下命令查看DBLink是否创建成功:

select * from dba_db_links;

可看到输出结果中多出了刚才新建的DBLink 。

2)测试可用性
执行如下命令查看测试库2中的数据:

select * from test1@QAS_2;

补充:
删除DBLink命令如下:
drop public database link QAS_2;

Logo

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

更多推荐