示例:
远程数据信息:
用户名:interface
密码:interface
ip:10.7.237.17
数据库:uidb
本地数据库信息:
用户名:jucks
密码:jucks
数据库:gilbert
1.查看用户jucks是否有创建dblink权限,没有,授权,如下:
grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to jucks;
2.创建dblink:
create database link uidb
connect to interface identified by interface
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.7.237.17)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = uidb)
)
)';
其中uidb是你创建的dblink名字,uidb是远程数据库的实例名,interface/interface是登录到远程数据库的用户/密码.这里面,dblink名字和数据库实例名一样的,这是因为两个数据库的GLOBAL_NAME的TYPE为true,所以必须一样,还有,本地数据用户jucks必须有创建dblink的权限,不然第一步就不会成功。(另外一种通过tnsnames.ora配置服务来创建不提倡使用,这种方法会受本地服务的限制)
3.测试是否创建成功:
select * from dual@uidb;
有图有真相:为X时,表明连接成功。
参照:http://www.poluoluo.com/jzxy/201011/98780.html