如何创建dblink

最近做的项目都是跟数据库相关的一些东西,有时间就总结一下吧,首先总结一下dblink。

1.什么时候会是用dblink

    当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库就要创建远程数据库的dblink。通过dblink本地数据库可以像访问本地数据库一样访问远程数据表中的数据。

2.如何在本地创建dblink

   创建dblink有两种方式,不过在创建dblink之前用户必须有创建dblink的权限。查看有关dblink的权限,比如用tel25_yy/abc123@RCO09 查看本地dblink的权限:

    select * from user_sys_privs t where t.privilege like upper('%link%');

   结果是:

  TEL25_YY DROP PUBLIC DATABASE LINK NO
   TEL25_YY CREATE PUBLIC DATABASE LINK NO

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

  创建dblink的第一种方式:在本地数据库tnsname.ora文件中配置了要远程访问的数据库。

  比如:在本地RCO09 上创建dblink

  create database link yy_telus_test
    connect  to tel25_yy IDENTIFIED BY abc123 using 'RCO08';

  其中yy_telus_test 是你创建的dblink的名字,tel25_yy 是你远程访问数据库的用户名,abc123是你远程访问数据库的密码,RCO08 是你通过dblink要远程访问的数据库。

  创建完成后,你在本地RCO09上就可以访问RC008上的表了。比如:查看test_forall表:

  select * from test_forall@RC008;

 第二种方式:是在本地数据库tnsnames.ora文件中没有配置要访问的远程数据库,要把tnsnames.ora的信息直接放在创建dblink语句后面。

 RCO08 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) 

               (HOST = 192.168.1.5) (PORT = 1521))

               (CONNECT_DATA = (SID=RCO08)))

   其实两种方法配置dblink是差不多的,但是还是第二种方法比较好,不受本地服务的影响。

 

3.如何查看已经建好的dblink

select * from ALL_DB_LINKS where username='TELUS25_YY';
TELUS25_YY YY_TEL_TEST2 TELUS25_YY RCO07 16/12/14
TELUS25_YY YY_TEL_TEST TELUS25_YY RCO08 16/12/14

  

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值