ITPub博客

首页 > Linux操作系统 > Linux操作系统 > db link学习笔记

db link学习笔记

原创 Linux操作系统 作者:wxjzqym 时间:2012-04-19 10:57:25 0 删除 编辑

    之前一直很少使用db link,所以对db link也不太熟,于是参考sql reference文档对db link做了初步了解。
    首先我们来看看创建db link的语法:

 
    1.对于public关键字是用来控制创建的dblink是可以给所有用户使用还是只能给创建者使用,如果忽略这个关键字那么就只能创建者使用。
    2.对于dblink关键字表示你所创建的dblink的名称,这里有一点需要注意,如果在你数据库中的global_name参数为true的话,那么你创建的dblink名称必须要和远端的数据库名一样,否则会报ORA-02085的错误,这个参数默认是false。
    3.对于connect to子句则决定了所创建的dblink的类型,这里有几个术语需要了解一下,如果使用了current_user子句创建的dblink被称为
current user database link,这种类型的dblink比极少,原因是创建这种类型的dblink要求current user必须在远程数据库端是一个有效的全局用户(这里的全局用户的意思就是需要配置LDAP这种服务来认证的);如果是使用user identified by password创建的dblink被称为fixed user database link,这种类型应该是应用最广泛的;如果是忽略了connect to子句的话那么创建的dblink被称为connected user database link(也就是说是以你当前登录的用户来连接远程数据库);还有一种连接方式是dblink_authentication,不过这种方式是只有在你指定了shared子句时才有效(不过我一直不太理解这个shared关键字所代表的含义)。
    4.对于USING 'connect string'关键字表示指定远程数据库的服务器名,这个'connect string'可以是被本地能够解析的网络服务名(通过tnsnames.ora解析)
 
    下面简单列举几个创建dblink的例子:
    1.创建一个公共的dblink
          CREATE PUBLIC DATABASE LINK remote  USING 'remote';
          2.创建一个fixed_user dblink
          CREATE DATABASE LINK remote  CONNECT TO hr IDENTIFIED BY hr USING 'remote';
          3.创建一个current_user database link 
          CREATE DATABASE LINK remote.us.oracle.com CONNECT TO CURRENT_USER USING 'remote';
    
           具体每个关键字的含义可以参考sql reference官档

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20801486/viewspace-721657/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-05-15

  • 博文量
    100
  • 访问量
    470282