Oracle中如何使用DBLink

咱们有两个数据库a,b,分别有两个用户A和B,用户A但愿访问B的全部表.sql

第一步:在用户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_grantide

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

DROP  PUBLIC  DATABASE  LINK dblink_borm

 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 = 实例名)
    )
  )';ip

而后用下面的语句访问用户get

 select * from B.table@dblink_b it

相关文章
相关标签/搜索