Oracle 跨数据库操作之连接方式DBLINK

Oracle 跨数据库操作之连接方式DBLINK

背景:

本人在工作时遇到一个问题,需要跨数据库查询表格数据,带着疑问得到启发创建‘DBLINK‘,于是就进行了百度,看了很多资料,踩坑,把结论发出来,帮助大家少踩坑,走近路;

技术分析:

首先,DBLINK操作并不难,只是在数据库A创建链接数据库B的TNS,数据库B不需要创建,创建成功后需要用table@dblink才能查询得到数据库B的表;

步骤分析:

1.查询权限

确认你的账号是否有创建DBLINK的权限

select * from user_sys_privs where privilege like upper('%DATABASE LINK%');

在这里插入图片描述
只要看到你的账号有数据,就证明你有权限;
CREATE PUBLIC DATABASE LINK:有’PBULIC’你创建的DBLINK,这个数据库所有的用户都能共享;
CREATE DATABASE LINK:你创建的DBLINK,只有创建的账户可以使用;
并且是否创建PUBLIC 的DBLINK 在创建时可从是否有’PUBLIC’看出;

2.创建DBLINK

create public database link ATS50GD connect to DB_ATS identified by  DB_ATS
   using  '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.154)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=ATS50GDDS)))'

这里需要特别注意,中间不能有空格或者回车,不然会出现很多个‘???’

3.确认创建DBLINK成功

select * from dba_db_links;

在这里插入图片描述
有数据,且HOST无异样即OK;

4.调用DBLINK

select * from table@ATS50GDDS;

以上是我成功的经验分享,若有需要补充或者疑问的,可以留言;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值