oracle中如何创建dblink(转)

[url]http://www.poluoluo.com/jzxy/201011/98780.html[/url]


当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍如何在本地数据库中创建dblink.

  创建dblink一般有两种方式,不过在创建dblink之前用户必须有创建dblink的权限。想知道有关dblink的权限,以sys用户登录到本地数据库:

  select * from user_sys_privs t

  where t.privilege like upper('%link%');

  1 SYS CREATE DATABASE LINK NO

  2 SYS DROP PUBLIC DATABASE LINK NO

  3 SYS CREATE PUBLIC DATABASE LINK NO

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

  在sys用户下,把CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK权限授予给你的用户

  grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to scott;

  然后以scott用户登录本地数据库

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

  create public database link

  [color=red]to_bylw[/color] connect to scott identified by tiger using 'bylw';

  其中to_bylw是你创建的dblink名字,bylw是远程数据库的实例名,scott/tiger是登录到远程数据库的用户/密码。然后在本地数据库中通过dblink访问远程数据库'bylw'中scott.tb_test表,sql语句如下所示
[color=red]
  select * from scott.tb_test@to_bylw;[/color]

第一种情况tnsnames.ora文件中信息如下:

  [color=red]bylw[/color] =

  (DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))

  )

  (CONNECT_DATA =

  (SERVER = DEDICATED)

  (SERVICE_NAME = bylw)

  )
  )


  2.创建dblink的第二种方式,是在本地数据库tnsnames.ora文件中没有配置要访问的远程数据库,

  create database link to_test

  connect to scott identified by tiger

  using '(DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))

  )

  (CONNECT_DATA =

  (SERVER = DEDICATED)

  (SERVICE_NAME = bylw)

  )

  )';

  第二种是把第一种配置在tnsnames.ora文件中的信息,直接放在创建dblink语句后面。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库创建数据库链接(dblink)是一个允许从一个Oracle数据库实例访问另一个远程数据库实例的过程。以下是创建dblink的基本步骤: 1. 确保本地数据库可以访问远程数据库。这通常意味着网络连接必须是可达的,且远程数据库上要有监听器在监听。 2. 在本地数据库,你需要有一个用户,该用户具有在远程数据库创建dblink的权限。通常,你需要具有远程数据库上的`CREATE SESSION`和`CREATE DATABASE LINK`权限。 3. 创建dblink时,需要知道远程数据库的主机地址、端口号和远程数据库的SID或者服务名。 4. 使用以下SQL命令创建dblink: ```sql CREATE DATABASE LINK <dblink_name> CONNECT TO <remote_user> IDENTIFIED BY <password> USING '<tns_entry>'; ``` 其: - `<dblink_name>`是你为数据库链接指定的名字。 - `<remote_user>`是远程数据库上存在的用户名。 - `<password>`是该远程用户的密码。 - `<tns_entry>`是本地tnsnames.ora文件的远程数据库服务条目。 例如,如果远程数据库的服务名为`远程DB`,用户名为`scott`,密码为`tiger`,则创建dblink的命令可能是: ```sql CREATE DATABASE LINK remote_link CONNECT TO scott IDENTIFIED BY tiger USING '远程DB'; ``` 这样就创建了一个名为`remote_link`的数据库链接,你可以通过它从本地数据库访问远程数据库。 注意:创建dblink之前请确保本地数据库的TNS配置正确无误,并且远程数据库允许相应的用户创建dblink
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值