zoukankan      html  css  js  c++  java
  • Oracle DBLINK 简单使用

    oracle在进行跨库访问时,可以通过创建dblink实现,今天就简单的介绍下如果创建dblink,以及通过dblink完成插入、修改、删除等操作

             首先了解下环境:在tnsnames.ora中配置两个数据库别名:orcl(用户名:wangyong 密码:1988)、orcl2(用户名:wangyong 密码:123456),在orcl中     创建database link来访问orcl2

            

           

     第一步:赋予权限

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

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

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

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

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

     第二步;创建database link

             我所了解到的创建方式有两种:1)通过pl/sql developer图形化创建、2)通过sqlplus中的sql语句创建,依次来看

             1)pl/sql developer 图形化创建

       

         填写完成后点击“Apply”按钮即可创建成功。

             2)sql语句创建

    -- 注意一点,如果密码是数字开头,用“”括起来
    create public database link TESTLINK2 connect to WANGYONG identified by "123456" USING 'ORCL21'

           这样,就完成了简单database简单的创建

       第三步:操作

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

               

            现在,我们通过database link 在orcl中访问这张属于orcl2库中WANGYONG的表COMPANY

              

         从截图中可以看到,在ORCL中可以成功访问到ORCL2中用户WANGYONG的表

         下面,利用同样的方式,进行插入,修改,删除操作,依次看截图,每一次操作后均执行查询语句,可对比执行效果:

         1)插入

         

      2)修改

        

    3)删除

        

         至此,简单的dblink操作就可以了,对于上面的链接字符串,还可以创建同义词代替,会稍微省点事

    -- 创建同义词
    create synonym TESTSYNONYM FOR company@TESTLINK1;

         那么上面的查询、插入、修改、删除中可直接用WYSYNONYM代替company@TESTLINK1即可,例如查询语句可改成如下方式(插入,修改,删除类似):

    -- 查询ORCL2中WANGYONG用户的表COMPANY
    SELECT * FROM TESTSYNONYM order by id

        

    数据库名称:

    SZJS755=
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 132.121.121.111)(PORT = 28098))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 132.121.121.108)(PORT = 28098))
    (LOAD_BALANCE = no)
    (FAILOVER = ON)
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = odsdb)
    (FAILOVER_MODE =
    (TYPE = SELECT)
    (METHOD = BASIC)
    )
    )
    )

  • 相关阅读:
    git 查看、创建、切换、删除、重命名和推送分支
    Java 构造器或构造方法
    Java 二维数组
    Java 引用类型数组
    Java this关键字
    STM8S103 PB4和PB5
    RK3288 dts文件中背光配置参数
    Laravel Cache 缓存钉钉微应用的 Access Token
    Laravel View Composer
    Laravel Cache 的缓存文件在到期后是否会自动删除
  • 原文地址:https://www.cnblogs.com/JAYIT/p/12487175.html
Copyright © 2011-2022 走看看