oracle 创建dblink访问远程数据库

查找资料,按照下面步骤配置后,发现还是无法远程连接数据库。可能是我对资料没理解透彻,后来发现另一种方法解决了这个问题。

第一种方法(没有成功):

1)在本地数据库tnsnames.ora文件中配置要访问的目标数据库信息.可以直接修改tnsnames.ora文件,或者使用客户端向导界面配置。

一般将下面的HOST和SERVICE_NAME改为要访问的目标数据库信息就可以了。

test_link2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.123)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = mai)
    )
  )


2)执行下面sql:

create [public] database link test_link1
connect to scott identified by tiger using 'test_link2';
其中第一个test_link1是将要创建的dblink的名字,
第二个test_link2是tnsnames.ora文件中配置的目标数据库DMDB的连接信息,

scott/tiger是登录到远程数据库的用户名和密码,然后当在本地数据库使用test_link1的dblink访问远程数据库的时候,会使用scott的身份来访问。

权限解释:
CREATE DATABASE LINK(所创建的DBlink只能是创建者自己使用,别的用户都使用不了)
CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用)

3)就是在本地获取远程数据库里的数据了。

select * from test_tb@test_link1


第二种方法(成功了):

create [public] database link test_link1
connect to scott identified by tiger using '192.168.0.123:1521/mai';


select * from test_tb@test_link1;

使用第二种方法更简单,不用配置tnsnames.ora文件











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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值