Oracle DB Link 介绍

背景:当前宁波项目建设阶段 需要创建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

转载于:https://my.oschina.net/OracleJay/blog/335753

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值