首页 > 数据库 >Oracle DBLINK 简单使用

Oracle DBLINK 简单使用

时间:2023-01-12 15:44:28浏览次数:62  
标签:database WANGYONG 创建 DBLINK wangyong link 简单 Oracle 权限

 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

    

 Oracle DBLINK 简单使用 - 勇者归来 - 博客园 (cnblogs.com)

标签:database,WANGYONG,创建,DBLINK,wangyong,link,简单,Oracle,权限
From: https://www.cnblogs.com/snrj/p/17046861.html

相关文章

  • Oracle修改实例名
    只需要修改环境变量ORACLE_ID,口令文件及参数文件的名称即可关闭数据库、停止实例SQL>shutdownimmediateDatabaseclosed.Databasedismounted.ORACLEinstanc......
  • ORACLE ORA-12638:身份证明检索失败
    使用PLSQL连接远程数据库时,有时候会遇到提示ORA-12638:身份证明检索失败的问题,怎么办呢?有两种方法,选择一种更改就行了,网络上大多是第一种方法,如果已经找过不是你想要的答案,......
  • Oracle impdp使用content=data_only会阻塞其他会话DML操作
     Oracleimpdp使用content=data_only会阻塞其他会话DML操作 上篇提到了insert/*+append*/into会对表持有LOCKED_MODE=6的TM锁,导致其他对该表的DML都会被阻塞。实......
  • LeetCode刷题(52)~杨辉三角【看似简单???】
    题目描述给定一个非负整数numRows,生成杨辉三角的前numRows行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入:5输出:[[1],[1,1],[1......
  • Oracle通过数据库链连接KingbaseES
    测试环境:ip数据库版本192.168.254.135oracle11g192.168.254.137V008R006C005B0023通过oracle官网得知,Oracle使用DG4ODBC作为连接到其他非Oracle数据库......
  • Oracle使用append对表insert会阻塞表的其他会话DML操作
     Oracle使用append对表insert会阻塞其他会话DML操作 快春节了,抽点时间把NNNNNNN久之前的东西整理记录。insert/*+append*/into会对表持有LOCKED_MODE=6的TM锁,导......
  • devexpress控件教程 开发workflow设计器这么简单
    如果你的项目的OA,尤其是政府部门的OA,那么一定会涉及工作流这个功能。这个模块说大不大、说小不大,最头疼的就是它的设计器,一直没有合适的。虽然微软出了工作流的3.5和4.0版......
  • ORACLE 去重
    -----------------------------------------------------------------------------模拟数据--------------------------------------------------------------------------......
  • 用两个三极管搭建的简单恒流源电路
    如下图所示,是用两个NPN三极管搭建的低成本恒流源电路,结构比较简单。怎么做到恒流的呢?我们一起来分析一下。图1 恒流源电路 在该电路中,可以把D1或R2看作是负载,且互相......
  • 简单图论总结
    一些碎碎念最近复习了一些简单图论的知识,主要有floyd,spfa,拓扑排序,dij,差分等等。其实真正意义上的算法就是floyd和dij以及拓扑排序(spfa目前的应用场景仅限于有负边的最短路......