
database link(简称DBLINK)是定义一个数据库到另一个数据库的路径的对象,database link允许查询其他数据库的远程表及执行远程程序。
database link是单向的连接。在创建database link的时候,Oracle在数据字典中保存相关的database link的信息。
在使用database link的时候,Oracle通过预先定义好的连接信息,访问相应的远程数据库以完成相应的工作。
dblink(Database Link)就像电话线一样是一个通道,如果要访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
扩展资料
1、建立dblink之前需要确认的事项:
1)、确认从local database到remote database的网络连接是正常的,tnsping要能成功。
2)、确认在remote database上面有相应的访问权限。
2、database link分类:
1)、Private类型,创建database link的user拥有该database link,只有建立该database link的schema的session能使用这个database link来访问远程的数据库。同时也只有Owner能删除该private database link。
2)、Public类型,Owner是PUBLIC。Public的database link是数据库级的,本地数据库中所有的拥有数据库访问权限的用户或pl/sql程序都能使用此database link来访问相应的远程数据库。
3)、Global类型,Owner是PUBLIC。Global的database link是网络级的。
参考资料
百度百科-dblink
1) dblink1 对应数据库 db1,你有用户名密码登陆db1 建一个同义词 create synonym a for b@dblink2; 2) 可以 select from a@dblink1; 就可以实现你要的效果; 但是前提是你要可以登陆dblink1对应的数据库和创建同义词的权限
用dblink吧,比较方便,如果跨数据库需要考虑写应用程序实现
dblink的创建使用:
1创建dblink语法:
CREATE [PUBLIC] DATABASE LINK link
CONNECT TO username IDENTIFIED BY password
USING ‘connectstring’
例子:
create database link link_tgwms_histdb connect to usernameidentified by password
using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 19216821513)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = histdb)
)
)';
2查看已创建的dblink
select owner,object_name from dba_objects where object_type='DATABASE LINK';
3dblink的引用:
[user]table|view@dblink
如:
SELECT FROM worker@zrhs_link;
SELECT FROM camelworker@zrhs_link ;
以上就是关于oracle里的DBLINK是做什么的全部的内容,包括:oracle里的DBLINK是做什么的、oracle dblink支持哪些数据库、两个数据库表(分别在不同数据库),在一张表里添加这张表在另一张表里没有的数据,如何实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)