oracle创建dblink
1.应用场景:
现有两个数据库,一个是erp1,一个是erp2,现要通过dblink在erp1连接erp2。
2.先在erp1查看是erp1用户否拥有创建dblink权限。在erp1中执行
select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
有权限显示如下
没有权限到sys里面授权
grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to erp1用户;
3.在erp1下创建dblink。
create public database link erp2_link
connect to erp2用户 identified by erp2密码
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = erp2IP地址)(PORT = erp2端口)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
其中erp2_link 为dblink名字,
connect to 需要连接的用户名 identified by 密码
HOST=需要连接数据库的ip
SERVICE_NAME=数据库实例
查看是否创建成功
select * from user_sys_privs where privilege like upper('%LINK%');
select * from dba_db_links;
select owner,object_name from dba_objects where object_type='DATABASE LINK';--查询时间久
4.操作:
查询erp2里面的数据
select * from hr_user@erp2_link
5.删除dblink
drop public database link erp2_link