Oracle 数据库 DBLINK创建 实现跨库操作

本文转载 自:勇者无敌 (感谢分享)
https://www.cnblogs.com/wangyong/p/6354528.html

 ORA数据库要实现跨库查询,
 方法一:可以通过OGG表同步数据到本库表,这个需要在本库中创建表,实现数据实时更新;
 方法二:可使用功能ora数据库的 DBLINK功能,实现跨库查询;

下面直接copy其内容分享:

首先了解下环境:在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)修改
在这里插入图片描述
至此,简单的dblink操作就可以了,对于上面的链接字符串,还可以创建同义词代替,会稍微省点事

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

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

 -- 查询ORCL2中WANGYONG用户的表COMPANY
SELECT * FROM TESTSYNONYM order by id
再次感谢作者分享!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值