一、创建新的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;