oracle dblink的创建与使用

一、什么是DBLINK

dblink,顾名思义就是数据库的链接。

当我们要跨本地数据库访问另一个数据库中的表的数据时,在本地数据库中就必须要创建远程数据库的dblink,通过该dblink就可以达到访问远程数据库中表中数据的目的。

 注意:dblink是单向的连接。

二、DBLINK创建实例

目的:

 两台数据库服务器db_A(本地)和db_B(远程192.168.1.100),db_A下用户user_a 需要访问到db_B下user_b的数据。

步骤:

1、确定用户user_a有没有创建 dblink 的权限:

登陆用户user_a;

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

2、如果没有,以sys用户登录到本地数据库 给用户user_a赋权:

grant create public database link,drop public database link to user_a;

注:
dblink有三种权限:
CREATE DATABASE LINK(所创建的dblink只能是创建者能使用,别的用户使用不了)
CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用)
DROP PUBLIC DATABASE LINK

3、以用户user_a登录本地数据库,创建dblink

create public  database link dblink1 connect to user_b identified by user_bpass using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
dblink1 表示dblink名称;
user_b 表示远程数据库的用户;
user_bpass 表示远程数据库的密码;
port 表示远程端口;
service_name 表示远程数据库实例名

4、使用dblink

-- 查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。

select * from user_bTablename@dblink1 ;
#举例
#insert into test@dblink1 values (1);
#select * from test@dblink1;

 

一般情况下引用数据库链接,可以直接将其放到调用的表名或视图名称后面,中间使用一个 @ 作为分割符:

三、DBLINK常用命令

1、删除public的DBLINK

     drop public database link dblink1;

     删除非public的DBLINK

     drop  database link dblink1;

注*只有owner自己能删除自己的非public类型dblink。

2、查看数据库所有用户的DBLINK

      select * from ALL_DB_LINKS;

 

转载于:https://www.cnblogs.com/jinyuanliu/p/10397363.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值