db link的使用

来源:互联网 发布:nba2k16捏脸数据游侠网 编辑:程序博客网 时间:2024/06/10 10:31

我们有两个数据库a,b,分别有两个用户A和B,用户A希望访问B的所有表.

第一步:在用户B所在的数据库中新建一个用户c,然后将B的所有表的查询权限赋给c.

set pages 999;
set heading off;
spool run_grant.sql
select ‘grant select on ‘||owner||’.’||object_name||’ to c;’
from dba_objects
where object_type=’TABLE’ and owner=’B’;
spool off;
@ run_grant

第二步:用户A新建一个dblink_b

DROP PUBLIC DATABASE LINK dblink_b

create database link dblink_c
connect to c identified by c的密码
using ‘(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 主机ip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 实例名)
)
)’;

然后用下面的语句访问用户

select * from B.table@dblink_b

0 0