1、先确定用户有创建 dblink 的权限
select * from user_sys_privs t where t.privilege like upper('%link%');
如果没查询到数据,那么直接查询 select * from user_sys_privs;当权限是"UNLIMITED TABLESPACE",表示这个用户有系统权限,也可以不授予dblink的权限。
授权dblink:
grant create database link to 用户名 ; --私有dblinkgrant create public database link to 用户名 ;--公有dblink
2、创建dblink
(1)create public database link dblink名称 connect to 链接库用户名 identified by 链接库密码 using '链接库ip/链接库servername';
(2)create public database link dblink名称 connect to 链接库用户名 identified by 链接库密码 using
‘'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=链接库ip)(PORT=链接库端口号)))(CONNECT_DATA=(SERVICE_NAME=链接库servername)))’;
以上方法创建的是public权限 的dblink; 也可以直接创建默认权限的dblink。
小细节:当密码中有@或者$等字符时,密码用“”包含,在创建的时候也可以直接用“”包含;
查询servername:select name,value from v$parameter where name='service_names';
3、查询dblink
select owner,object_name from dba_objects where object_type='DATABASE LINK';--只查询权限和dblink名称
select * from dba_db_links;--查询dblink的所有信息,包含权限,dblink名称,用户名,host,创建时间
4、删除dblink
drop public database link dblink名称;--删除权限为public的dblink
drop database link dblink名称;--删除权限为私有的dblink
也可以直接用plsql界面化创建
参考文章http://blog.csdn.net/davidhsing/article/details/6408770