Oracle实现跨库查询

场景模拟:
在这里插入图片描述
当前登录的库是ocrla,然后我的需求是希望直接通过SQL能够查询到ocrlb库的数据。
Oracle在进行跨库访问时,可以通过创建dblink实现。
【第一步:用户权限】
查看当前用户是否拥有database link 权限

select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='ZHANGYU';
-- 如果user_sys_privs数据不多可以直接查找用户,注意这里用户名大写

在这里插入图片描述
如果查询有返回行,则表示具备创建database link权限,否则,则需要使用sys登陆为用户赋予创建权限

grant create public database link to zhangyu;

创建完成之后再次查询user_sys_privs即可
【第二步:创建database link】
俩种方式可以通过pl/sql developer图形化创建,也可以通过SQL语句创建,这里直接通过SQL方式创建

create database link   LINKTEST
  connect to  zhangyu   identified by "123456"
  using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ocrla)  ) )'

备注:如果密码是数字开头,用""括起来

在这里插入图片描述

【第三步:验证】
创建完成之后就可以通过下面的方式查询跨库的数据:
表名@对应的DataBase Link名称

SELECT * FROM  tableName@LINKTEST

创建完成后也可以通过pl/sql developer查看
在这里插入图片描述
DATABASE LINK 的删除

DROP PUBLIC DATABASE LINK link_name;
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZWZhangYu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值