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
dblink(转)的更多相关文章
- oracle创建DBLINK
1.查看Global_name参数 show parameter global_name; 该参数为true时,你在本地建立的DBLINK的名称必须和远程的Global_name一致才行. 2.查看 ...
- Oracle同义词+dblink的实际应用
Oracle同义词+dblink的实际应用 业务需求:原数据库(10.2.0.4.0),新数据库(11.2.0.3) 由于程序的需求原因,现在需要把新库上的某个用户直接映射到老库用户下: 1. 备份原 ...
- dblink嵌套场景下 查询出现:ORACLE ORA-00600错误的解决
前段时间在做oracle查询的时候遇到了一个非常奇怪的现象,现将现象和解决过程记录下来,以备查看: 环境描述:A数据库通过dblink访问B数据库的视图,B数据库的视图的数据是通过B的dblink连接 ...
- 使用数据泵+dblink迁移数据库,适用于本地空间不足的情况
col name for a40 select name,locks,pins from v$db_object_cache where locks > 0 and pins > 0 an ...
- Oracle中DBLink的使用
DBLink 的作用是在局域网内,通过一台服务器上面的数据库访问另外一台服务器上面数据库的功能. 下面简单的介绍DBLink的配置: 服务器A:IP 10.10.10.107, 数据库实例名:orcl ...
- oracle DBlink 【转】
. 实现结果:在一个数据库中某个用户下编写一个存储过程,在存储过程中使用DBLINK连接另一个数据库,从此数据库中的一个用户下取数,然后插入当前的数据库中的一个表中. 二. 实现方法步骤: 1. 创建 ...
- Oracle 创建dblink
创建dblink语法: create database link link名称 connect to 对方数据库用户名 identified by 对方数据库用户密码 using '对方数据库ip: ...
- DBlink与同义词
DBLink就是数据库链接,而同义词就已经具体到某个用户下的表了 原文链接:http://www.linuxidc.com/Linux/2013-01/77579.htm 这里所需要的信息: 从MM库 ...
- oracle:db-link使用
二个oracle instance,如果需要在一个instance上,直接查询另一个instance上的数据,就要用到db-link 创建: create public database link 链 ...
- dblink连接的目标端 session不断的问题。
来源于:http://blog.itpub.net/22782896/viewspace-676842/ 1.在使用了dblink的存储过程中,可以显示的手动关闭dblink连接,具体写法如下(测试存 ...
随机推荐
- A class of finite groups with abelian 2-Sylow subgroups By CHIH-HAN SAH
Remark: 1.An element of a group which conjugate to its inverse is called a real element. If $G$ has ...
- 贪吃蛇GamePanel Java实现(二)
package cn.tcc.snake.tcc.View; import java.awt.Color;import java.awt.Graphics; import javax.swing.JP ...
- 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]
深度优先搜索算法(Depth First Search),是搜索算法的一种.是沿着树的深度遍历树的节点,尽可能深的搜索树的分支. 当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点 ...
- .net 报错access to the path c:\tempimagefiles\msc_cntr_0.txt is denied
报错信息: 解决方法: 在 Web.Config 的 <System.Web> 里加 <identity impersonate="true"/> 节点即可 ...
- fbx模型加载的材质球路径
选择Location为外部加载时,会通过搜索来读取外部文件 From Model's Material 搜索项目中Materials文件 [ModelName].mat 会优先搜索当前子文件夹有没有 ...
- 转:WEB前端性能优化规则
14条规则摘自<High Performance Web Sites>,本文地址 1.减少Http请求 使用图片地图 使用CSS Sprites 合并JS和CSS文件 这个是由于浏览器对同 ...
- [剑指Offer]39-数组中出现次数超过一半的数字(快排延申,找第k大数同理)
题目链接 https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163?tpId=13&tqId=11181&t ...
- polymorphism多态
[概念] 方法名相同,具体操作根据类不同. eg 有open()方法的ebook, kindle 都会被打开 eg 动物叫声不同 inheritance:只有superclass subclass都有 ...
- composer ip2city配置
//根据ip获取地址信息composer require "mylukin/ip2city: dev-master" // vendor/mylukin/ip2city/src/I ...
- how2j网站前端项目——天猫前端(第一次)学习笔记6
开始我的订单页面 学着学着,会觉得我这是在干啥呢?我要学的是Java不是吗?怎么要学这么久的前端啊?说实话,我很迷茫,不知道以后的工作具体是做什么?学的这些能用到吗? 不过,还是要把这个项目跟着走完! ...