新闻资讯  快讯  焦点  财经  政策  社会
互 联 网   电商  金融  数据  计算  技巧
生活百科  科技  职场  健康  法律  汽车
手机百科  知识  软件  修理  测评  微信
软件技术  应用  系统  图像  视频  经验
硬件技术  知识  技术  测评  选购  维修
网络技术  硬件  软件  设置  安全  技术
程序开发  语言  移动  数据  开源  百科
安全防护  资讯  黑客  木马  病毒  移动
站长技术  搜索  SEO  推广  媒体  移动
财经百科  股票  知识  理财  财务  金融
教育考试  育儿  小学  高考  考研  留学
您当前的位置:首页 > IT百科 > 数据库 > Oracle

ORACLE之DBLINK的使用

时间:2019-12-04 11:16:27  来源:  作者:

最近两天项目上线,跟着前辈学了不少东西,现在整理一下 。

DBLINK使用背景

因为项目是推广项目,是在一期项目上进行增加的功能,对数据的升级比较麻烦。我们的升级策略是先统计出项目中使用的配置表,使用Navicat Premium 12中的数据同步功能先将正式的数据和测试中的数据进行对比,提取出sql脚,其中有一些表是存有blob字段的,提取出来的脚本不能直接执行,所以用到下面的技术——databaseLink(即跨数据库操作数据)。

oracle在进行跨库访问时,可以通过创建dblink实现,可以通过dblink完成插入、修改、删除等操作。

测试环境

首先了解下环境:在tnsnames.ora中配置两个数据库别名:

orcl(用户名:wangyong 密码:1988)

orcl2(用户名:wangyong 密码:123456)

实现在orcl中创建database link来访问orcl2。

 

ORACLE之DBLINK的使用

 

 

 

 第一步:赋予权限

在创建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 图形化创建

 

ORACLE之DBLINK的使用

 

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

2)sql语句创建

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

create public database link TESTLINK2 connect to WANGYONG identified by "123456" USING 'ORCL2'

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

 

 第三步:操作

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

 

ORACLE之DBLINK的使用

 

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

 

ORACLE之DBLINK的使用

 

select * from company@TESTLINK1 order by id

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

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

1)插入 bffdsf

 

ORACLE之DBLINK的使用

 

 

2)修改

 

ORACLE之DBLINK的使用

 

3)删除

 

ORACLE之DBLINK的使用

 

至此,简单的dblink操作就可以了。

课外小知识:

对于上面的链接字符串,还可以创建同义词代替,会稍微省点事。

-- 创建同义词

create synonym TESTSYNONYM FOR company@TESTLINK1;

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

-- 查询ORCL2中WANGYONG用户的表COMPANY

SELECT * FROM TESTSYNONYM order by id



Tags:ORACLE   点击:()  评论:()
声明:本站部分内容来自互联网,内容观点仅代表作者本人,如有任何版权侵犯请与我们联系,我们将立即删除。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
概述 今天主要介绍一下Oracle行转列及列转行常见函数,下面一起来看看吧!行列转换pivot函数:行转列函数语法:pivot(任一聚合函数 for 需专列的值所在列名 in (需转为列名的值));un...【详细内容】
2020-01-07   ORACLE  点击:(94)  评论:(0)  加入收藏
一、在查询中过滤行(where)select employee_id,last_name,salaryfrom employeeswhere employee_id > 200操作符 含义= 等于(不是==)> 大于>= 大于、等于< 小于<= 小于、等于<>...【详细内容】
2020-01-02   ORACLE  点击:(23)  评论:(0)  加入收藏
对于一门技术的学习,尤其是像Oracle database这种知识体系极其庞杂的技术来讲,从宏观上了解其体系结构是至关重要的。同时,个人认为,未必是专业DBA人员才需要了解其体系结构(固然...【详细内容】
2019-12-30   ORACLE  点击:(21)  评论:(0)  加入收藏
一、前言这里记录一次将MySQL数据库中的表数据迁移到Oracle数据库中的全过程 ,使用工具 Navicat,版本 12.0.11操作环境及所用工具: mysql5.7 oracle18c windows Navicat12.0.1...【详细内容】
2019-12-27   ORACLE  点击:(37)  评论:(0)  加入收藏
不少电脑客户端用户为了方便访问Oracle服务器,想必经常为Oracle服务器配置ODBC源,当然了,这个过程也是比较简单的,下面看一下32位的操作系统是如何配置ODBC数据源的打开控制面板...【详细内容】
2019-12-26   ORACLE  点击:(23)  评论:(0)  加入收藏
1.什么是数据库?简单的说,数据库(英文Database)就是一个存放数据的仓库,这个仓库是按照一定的数据结果(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的、我们可以通过...【详细内容】
2019-12-18   ORACLE  点击:(3)  评论:(0)  加入收藏
create or replace type spell_code as object(spell varchar2(10),code number);create or replace type t_spellcode is table of spell_code;--返回拼音与代码的对应关系...【详细内容】
2019-12-18   ORACLE  点击:(226)  评论:(0)  加入收藏
1、物理内存&mdash;详细信息: 物理内存 - 此先决条件将测试系统物理内存总量是否至少为 922MB (944128.0KB)。 预期值:?N/A 实际值:?N/A ?错误列表: ?-? PRVF-7531 : 无法...【详细内容】
2019-12-17   ORACLE  点击:(33)  评论:(0)  加入收藏
关系表:sys_functionid :主键idpid:父关系idOracle函数:start with&hellip;connect by&hellip;prior1.表数据select * from family; 2.查询自己和自己所有的后代select s.*from...【详细内容】
2019-12-13   ORACLE  点击:(30)  评论:(0)  加入收藏
Oracle真正集群的出现是在Oracle公司收购Rdb并吸收了相关技术优势后,才正在推出了属于自己的RAC集群解决方案。RAC​和集群分类章节提到的集群系统有很多相似之处,从下图我们...【详细内容】
2019-12-09   ORACLE  点击:(29)  评论:(0)  加入收藏
相信大家在客户现场维护的时候一定会适时地做一些备份操作,对关键业务建立完备的备份机制,本篇文章就是给大家一个linux环境下的参考。一、 用imp/exp实现数据的导入导出(一)环...【详细内容】
2019-12-06   ORACLE  点击:(53)  评论:(0)  加入收藏
最近两天项目上线,跟着前辈学了不少东西,现在整理一下 。DBLINK使用背景因为项目是推广项目,是在一期项目上进行增加的功能,对数据的升级比较麻烦。我们的升级策略是先统计出项...【详细内容】
2019-12-04   ORACLE  点击:(34)  评论:(0)  加入收藏
概述今天主要介绍Oracle数据库的三大索引类型,仅供参考。 一、B-Tree索引三大特点:高度较低、存储列值、结构有序1.1利用索引特性进行优化外键上建立索引:不但可以提升查询效率...【详细内容】
2019-11-29   ORACLE  点击:(59)  评论:(0)  加入收藏
1、for update nowait 与 for update 的目的: 锁定表的所有行,排斥其他针对这个表的写操作。确保只有当前事务对指定表进行写操作。例子:for update1 select * from TTable1...【详细内容】
2019-11-15   ORACLE  点击:(82)  评论:(0)  加入收藏
Oracle 基础知识(特别基础)1 如何确定数据库已经启动(1)查看进程Ps &ndash;ef |grep oracleoracle 39452856 1 0 May 23 - 11:59 ora_smon_GJ2oracle 40304850 1 0 May 23 - 3...【详细内容】
2019-11-13   ORACLE  点击:(35)  评论:(0)  加入收藏
概述今天主要介绍Oracle11g 网络访问控制列表--DBA_NETWORK_ACL。一、DBA_NETWORK_ACL_PRIVILEGESDBA_NETWORK_ACL_PRIVILEGES describes the network privileges defined i...【详细内容】
2019-11-07   ORACLE  点击:(65)  评论:(0)  加入收藏
由于SQL Server不常用,所以这里只针对MySQL数据库和Oracle数据库的区别(1) 对事务的提交MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写commit;指令...【详细内容】
2019-11-06   ORACLE  点击:(62)  评论:(0)  加入收藏
近期项目需要从虚拟机环境迁移到容器环境,其中有一个项目在迁移到容器环境之后的两天之内出现了2次“死锁(deadlock)”的问题,部分关键日志如下:Found one Java-level deadlock...【详细内容】
2019-11-05   ORACLE  点击:(28)  评论:(0)  加入收藏
oracle按天,周,月,季度,年查询排序天--to_char(t.start_time,&#39;YYYY-MM-DD&#39;)周 --to_char(t.start_time,&#39;YYYY&#39;),to_char(t.start_time,&#39;IW&#39;)月度--to_ch...【详细内容】
2019-10-18   ORACLE  点击:(117)  评论:(0)  加入收藏
概述今天主要总结一下Oracle表空间每日增长和历史情况统计的一些脚本,仅供参考。11g统计表空间的每日增长量SELECT a.snap_id, c.tablespace_name ts_name, to_char(to_date(...【详细内容】
2019-10-14   ORACLE  点击:(255)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条