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

关于ORACLE数据库之间创建DBLINK的问题

2014-06-03 15:19 323 查看
下面简单地介绍一个创建DBLINK的语句及其两个库中的两个用户所需要的权限:

  直接开门见山的说一下

   下面有两个oracle数据库,分别为 :   A库、              B库;

                               分别对应的用户为:USER_A、      USER_B两个用户;

  下边我们建一个从A库到B的DBLINK,从A库中的USER_A用户连接到B库中USER_B用户,创建的时候需要有一些权限的准备;

  权限设置:A库中的USER_A用户必须有创建DBLINK的权限,对应的权限名为CREATE DATABASE LINK ;

                    B库中的USER_B必须有创建会话的权限,对应的权限名为 CREAE SESSION,如果没有则即使DBLINK创建了也无法访问B库

 说明:

  可以从DBA_SYS_PRIVS视图中根据用户名查询相应用户下的所有权限

  A库中USER_A用户所能看到B库中的什么东西取决于B库中USER_B用户所拥有的权限

 

创建语句:

    CREATE DATABASE LINK TEST_LINK 

     CONNECT TO USER_B  IDENTFIED BY
USER_B_PASSWD

     USING  '(DESCRIPTION =

        (ADDRESS_LIST =

         (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))

         )

         (CONNECT_DATA =

         (SERVICE_NAME = ORACLE)

        ))'

注释:

    TEST_LINK :需要创建的DBLINK名

    USER_B    :B库下的用户

    USER_B_PASSWD : B库下用户的密码

    USING:后跟的一段字符串是B库的配置连接字符串;

假设B库中有一张表 AA表,在A库中USER_A用户下查询

SELECT * FROM USER_B.AA@TEST_LINK;

 

备注:

    如有问题请各位大神指正;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息