oracle数据库dbLink的使用

Oracle的数据库链路(dbLink)是一种允许在两个不同的数据库实例之间进行通信和数据交换的功能。它可以让你在一个数据库中访问另一个数据库的对象和数据,就像它们属于同一个数据库一样。

创建一个link:

CREATE public DATABASE LINK link_scott
CONNECT TO scott IDENTIFIED BY "tiger"
USING '192.168.1.101/orcl';

代表创建一个公共的数据库链路,名称为link_scott,连接指向orcl实例下面的scott用户,tiger为scott用户的密码。192.168.1.101为orcl实例的地址。

创建完成后,可以通过下面语句查询scott用户的表emp:

SELECT * FROM emp @link_scott;

 

如果觉得这样写比较麻烦,可以创建一个同义词,简化查询语句:

create synonym emp for emp @link_scott;

 

同义词创建完成后,查询语句可以写为:

SELECT * FROM emp;

dblink使用场景,一般用于两个不同数据库之间,为了能访问其他数据库用户的数据。为另外一个数据库用户创建一个数据库链接。

如果是同一个数据库之间不同用户的数据库对象访问,则使用赋权的方式,例如同一个数据库中,test1用户想访问scott用户的表emp,则操作如下:

1.将scott用户中emp表的查询权限给test1用户(sys用户操作)

grant select on scott.emp to test1;

2.test1用户查询emp表(test1用户操作)

SELECT * FROM scott.emp;

如果要简化查询语句的写法,则可以创建同义词(sys用户操作,也可以赋权给test1,语法为GRANT CREATE SYNONYM TO TEST1;)

create synonym test1.emp for  scott.emp;

然后再查询emp表

SELECT * FROM emp;

关于dblink参考链接:

https://blog.csdn.net/newbie158/article/details/131070398

https://www.lmlphp.com/user/57840/article/item/2209152/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值