oracle 跨库 dblink配置

 本地库有两个1、dev库  , 2、crux库

想通过配置dblink来实现dev库用户sifc_dev 来访问crux库用户cwy_demo       

 第一步:赋予权限

         在创建database link之前,我们需要判断,登陆的用户是否具备创建database link 的权限,所以我们执行以下的语句(用sifc_dev 用户登陆dev):

-- 查看sifc_dev 用户是否具备创建database link 权限 select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='sifc_dev';

        如果查询有返回行,则表示具备创建database link权限,否则,则需要使用sys登陆dev为sifc_dev用户赋予创建权限

-- 给sifc_dev用户授予创建dblink的权限 grant create public database link to sifc_dev;

         此时,再执行上面查看是否具备权限的sql语句,会发现有返回行,表示,sifc_dev这个用户已经具备创建database link的权限

 第二步;创建database link     

创建方式有两种:

1)通过pl/sql developer图形化创建、

2)通过sqlplus中的sql语句创建

 下面具体介绍一下通过sql语句来创建

        sql语句创建

-- 注意一点,如果密码是数字开头,用“”括起来

create public database link TESTLINK1 connect to cwy_demo identified by "1" USING 'crux'

create public database link TESTLINK1 connect to user identified by password USING 'databasename '

 这样,就完成了简单database简单的创建 ,注意里面的数据库名和用户都是需要dblink到目标的库相关用户名和密码

   第三步:操作

          首先,我们需要在crux库中新建一张表 (ACCOUNT_INFO),并插入部分数据,如下图:

           

        现在,我们通过database link 在dev中访问这张属于crux库中cwy_demo的表ACCOUNT_INFO

    select * from ACCOUNT_INFO@TESTLINK1

     从截图中可以看到,在dev中可以成功访问到crux中用户cwy_demo的表

     可以利用同样的方式,进行插入,修改,删除操作。

     

发布了33 篇原创文章 · 获赞 26 · 访问量 102万+

猜你喜欢

转载自blog.csdn.net/lmdsoft/article/details/93594539