oracle 中如何创建 dblink
当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远
程数据库的 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 有三种权限:
A、CREATE DATABASE LINK
所创建的 dblink 只能是创建者能使用,别的用户使用不了
B、CREATE PUBLIC DATABASE LINK
public 表示所创建的 dblink 所有用户都可以使用
C、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 用户登录本地数据库
创建 DBLink 的两种方式
1.创建 dblink 的第一种方式,是在本地数据库 tnsnames.ora 文件中配置了要远程访
问的数据库
create public database link
to_bylw connect to scott identi5ed by tiger using 'bylw';
其中 to_bylw 是你创建的 dblink 名字,bylw 是远程数据库的实例名,scott/tiger 是
登录到远程数据库的用户/密码。然后在本地数据库中通过 dblink 访问远程数据
库'bylw'中 scott.tb_test 表,sql 语句如下所示 select * from
scott.tb_test@to_bylw;
2.创建 dblink 的第二种方式,是在本地数据库 tnsnames.ora 文件中没有配置要访问
的远程数据库
create database link to_test
connect to scott identi5ed by tiger
using '(DESCRIPTION =