您的位置:首页 > 数据库 > Oracle

Oracle DB Link 介绍

2014-10-21 00:00 549 查看
摘要: Oracle DBLink 功能介绍

背景:当前宁波项目建设阶段 需要创建DBlink连接,对第三方库进行查询操作

目前常见的银行ETL数据交换方式普遍采用文件和DBlink方式,文件方式一般可能是上游系统(PreSystem)按照系统间文件交互的接口规范提供指定格式的数据文件,然后通过数据总线或者其他方式进行文件传输,供下游系统(CurSystem)使用。这样能够很好的保证数据隔离性,保证了系统间的数据安全。同样带来的问题可能就是增加的ETL作业的操作时间。

而部分数据隔离性要求并不是很高,则可以考虑使用DBlink的方式直接从上游系统的查询库或者查询用户下做取数操作。

DBlink创建语法

CREATE [PUBLIC] DATABASE LINK 名称 CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘连接串’;

权限要求

grant create database link to 用户;

grant create public database link to 用户;

关键字:public 创建的数据库连接为公用,即其他用户也可以使用该数据库连接

连接串:可以显示的指定需要连接的数据库的地址,服务名,端口号等信息;同样也可以直接引用服务器上数据库配置的tns名称,在服务器端配置tns名称可以使用netca的命令进行tns的创建(netca,网络创建插件,可以对监听进行配置,同样可以配置tns等信息)。

显示的方式:create database link LINK01 connect to 目标数据库用户名 identified by 密码 using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.123)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl) )
)';

隐示的方式:create database link LINK02 connect to 目标数据库用户名 identified by 密码 using 'TNSNAMES01';

通过比较,显示的方式可能会直接将目标数据库的连接信息暴露出来,使用隐示的方式减少了直接查询目标数据库的连接信息的可能。同样,在目标数据库中提供的查询用户可能做相应的权限控制,这样就能有效的限制DBLINK方式造成的数据访问的安全性的问题。

查询视图:USER_OBJECTS、DBA_DB_LINKS
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle dblink public ETL