database link基础知识

本文介绍了Oracle数据库的database link,它提供了一种从一个数据库到另一个数据库的路径,允许查询远程表和执行远程程序。内容包括database link的分类、创建、使用、删除以及查看相关信息的技巧和脚本,强调了其作为单向连接的重要性以及安全性考虑。
摘要由CSDN通过智能技术生成

什么是database link?

database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表及执行远程程序。在任何分布式环境里,database都是必要的。另外要注意的是database link是单向的连接。

在创建database link的时候,Oracle再数据字典中保存相关的database link的信息,在使用database link的时候,Oracle通过Oracle Net用用户预先定义好的连接信息访问相应的远程数据库以完成相应的工作。

建立database link之前需要确认的事项:

  1. 确认从local database到remote database的网络连接是正常的,tnsping要能成功。
  2. 确认在remote database上面有相应的访问权限。

 


topdatabase link分类

topdatabase link使用方式分类
类型 Owner 描述
Private 创建database link的user拥有该database link 在本地数据库的特定的schema下建立的database link。只有建立该database link的schema的session能使用这个database link来访问远程的数据库。同时也只有Owner能删除它自己的private database link。
Public Owner是PUBLIC. Public的database link是数据库级的,本地数据库中所有的拥有数据库访问权限的用户或pl/sql程序都能使用此database link来访问相应的远程数据库。
Global Owner是PUBLIC. Global的database link是网络级的,When an Oracle network uses a directory server, the directory server automatically create and manages global database links (as net service names) for every Oracle Database in the network. Users and PL/SQL subprograms in any database can use a global link to access objects in the corresponding remote database.
Note: In earlier releases of Oracle Database, a global database link referred to a database link that was registered with an Oracle Names server. The use of an Oracle Names server has been deprecated. In this document, global database links refer to the use of net service names from the directory server.
topdatabase link远程数据库用户验证方法
用户类型 描述 举例说明
Connected user 当创建database link的时候没用用CONNECT TO username指定固定的user的时候当前用户的登陆信息将会被用来验证登陆远程数据库,如果本地用户是SYSTEM的话那么登陆远程数据库的用户也是SYSTEM。
注意:Connected user不一定是建立database link的用户,任何一个可以使用该database link的用户都可以是Connected user。
CREATE PUBLIC database link hq USING ‘hq’;
Fixed user 在建立database link的时候如果指定了用户名/密码时,所有使用使用使用该database link的用户,不管是否是建立database link的用户,都将使用指定的用户去登陆远程的数据库。 PUBLIC database link hq CONNECT TO jane IDENTIFIED BY doe USING ‘hq’;
Current user A global user in a CURRENT_USER database link. The global user must be authenticated by an X.509 certificate (an SSL-authenticated enterprise user) or a password (a password-authenticated enterprise user), and be a user on both databases involved in the link. Current user links are an aspect of the Oracle Advanced Security option. See Oracle Advanced Security Administrator’s Guide for information about global security CREATE PUBLIC database link hq CONNECT TO CURRENT_USER using ‘hq’;


topdatabase link的使用


top创建database link

top基本语法
CREATE [ SHARED ][ PUBLIC ] database link link_name
      [
CONNECT TO user IDENTIFIED BY password ]
      [
AUTHENTICATED BY user IDENTIFIED BY password ]
      [
USING ' connect_string ' ]
top创建database link选项说明
database link连接方式
取值 说明
不指定 默认值建立一个dedicated的连接,每一个使用database link的本地session都会对应有一个远程数据库的session。
SHARED 创建一个共享的数据库连接,同时要指定database link_authentication。
使用shared方式的database link是数据库会限制到远程数据库的连接的数量,这样以避免过多的连接对远程数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值